mirror of
https://github.com/owenlejeune/TVTime.git
synced 2025-11-15 00:02:48 -05:00
28 lines
822 B
Kotlin
28 lines
822 B
Kotlin
package com.owenlejeune.tvtime.api
|
|
|
|
import com.google.gson.GsonBuilder
|
|
import com.google.gson.JsonDeserializer
|
|
import org.koin.core.component.KoinComponent
|
|
import org.koin.core.component.inject
|
|
import retrofit2.converter.gson.GsonConverterFactory
|
|
import kotlin.reflect.KClass
|
|
|
|
class GsonConverter: Converter, KoinComponent {
|
|
|
|
private val deserializers: Map<Class<*>, JsonDeserializer<*>> by inject()
|
|
|
|
override fun get(): retrofit2.Converter.Factory {
|
|
// val gson = GsonBuilder()
|
|
// .registerTypeAdapter()
|
|
// .create()
|
|
val builder = GsonBuilder()
|
|
|
|
deserializers.forEach { deserializer ->
|
|
builder.registerTypeAdapter(deserializer.key, deserializer.value)
|
|
}
|
|
|
|
val gson = builder.create()
|
|
|
|
return GsonConverterFactory.create(gson)
|
|
}
|
|
} |