Minor cleanup: consistent deserialization.
This commit is contained in:
parent
3da84cb6b5
commit
48570e24ea
|
@ -5,7 +5,7 @@ import audio.funkwhale.ffa.model.Album
|
|||
import audio.funkwhale.ffa.model.AlbumsCache
|
||||
import audio.funkwhale.ffa.model.AlbumsResponse
|
||||
import audio.funkwhale.ffa.utils.OAuth
|
||||
import audio.funkwhale.ffa.utils.gsonDeserializerOf
|
||||
import com.github.kittinunf.fuel.gson.gsonDeserializerOf
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import org.koin.java.KoinJavaComponent.inject
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import audio.funkwhale.ffa.model.Track
|
|||
import audio.funkwhale.ffa.model.TracksCache
|
||||
import audio.funkwhale.ffa.model.TracksResponse
|
||||
import audio.funkwhale.ffa.utils.OAuth
|
||||
import audio.funkwhale.ffa.utils.gsonDeserializerOf
|
||||
import com.github.kittinunf.fuel.gson.gsonDeserializerOf
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import org.koin.java.KoinJavaComponent.inject
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import audio.funkwhale.ffa.model.ArtistsCache
|
|||
import audio.funkwhale.ffa.model.ArtistsResponse
|
||||
import audio.funkwhale.ffa.model.FFAResponse
|
||||
import audio.funkwhale.ffa.utils.OAuth
|
||||
import audio.funkwhale.ffa.utils.gsonDeserializerOf
|
||||
import com.github.kittinunf.fuel.gson.gsonDeserializerOf
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import org.koin.java.KoinJavaComponent.inject
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import audio.funkwhale.ffa.model.PlaylistTrack
|
|||
import audio.funkwhale.ffa.model.PlaylistTracksCache
|
||||
import audio.funkwhale.ffa.model.PlaylistTracksResponse
|
||||
import audio.funkwhale.ffa.utils.OAuth
|
||||
import audio.funkwhale.ffa.utils.gsonDeserializerOf
|
||||
import com.github.kittinunf.fuel.gson.gsonDeserializerOf
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.flow.toList
|
||||
|
|
|
@ -9,11 +9,11 @@ import audio.funkwhale.ffa.model.Track
|
|||
import audio.funkwhale.ffa.utils.OAuth
|
||||
import audio.funkwhale.ffa.utils.Settings
|
||||
import audio.funkwhale.ffa.utils.authorize
|
||||
import audio.funkwhale.ffa.utils.gsonDeserializerOf
|
||||
import audio.funkwhale.ffa.utils.mustNormalizeUrl
|
||||
import com.github.kittinunf.fuel.Fuel
|
||||
import com.github.kittinunf.fuel.coroutines.awaitByteArrayResponseResult
|
||||
import com.github.kittinunf.fuel.coroutines.awaitObjectResponseResult
|
||||
import com.github.kittinunf.fuel.gson.gsonDeserializerOf
|
||||
import com.google.gson.Gson
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
|
|
|
@ -6,7 +6,7 @@ import audio.funkwhale.ffa.model.Radio
|
|||
import audio.funkwhale.ffa.model.RadiosCache
|
||||
import audio.funkwhale.ffa.model.RadiosResponse
|
||||
import audio.funkwhale.ffa.utils.OAuth
|
||||
import audio.funkwhale.ffa.utils.gsonDeserializerOf
|
||||
import com.github.kittinunf.fuel.gson.gsonDeserializerOf
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import org.koin.java.KoinJavaComponent.inject
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ import audio.funkwhale.ffa.model.Track
|
|||
import audio.funkwhale.ffa.model.TracksCache
|
||||
import audio.funkwhale.ffa.model.TracksResponse
|
||||
import audio.funkwhale.ffa.utils.OAuth
|
||||
import audio.funkwhale.ffa.utils.gsonDeserializerOf
|
||||
import com.github.kittinunf.fuel.gson.gsonDeserializerOf
|
||||
import audio.funkwhale.ffa.utils.mustNormalizeUrl
|
||||
import com.google.android.exoplayer2.offline.DownloadManager
|
||||
import com.google.android.exoplayer2.upstream.cache.Cache
|
||||
|
|
|
@ -7,7 +7,7 @@ import audio.funkwhale.ffa.model.TracksCache
|
|||
import audio.funkwhale.ffa.model.TracksResponse
|
||||
import audio.funkwhale.ffa.utils.OAuth
|
||||
import audio.funkwhale.ffa.utils.getMetadata
|
||||
import audio.funkwhale.ffa.utils.gsonDeserializerOf
|
||||
import com.github.kittinunf.fuel.gson.gsonDeserializerOf
|
||||
import audio.funkwhale.ffa.utils.mustNormalizeUrl
|
||||
import com.google.android.exoplayer2.offline.Download
|
||||
import com.google.android.exoplayer2.offline.DownloadManager
|
||||
|
|
|
@ -115,15 +115,3 @@ val ISO_8601_DATE_TIME_FORMAT = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")
|
|||
fun Date.format(): String {
|
||||
return ISO_8601_DATE_TIME_FORMAT.format(this)
|
||||
}
|
||||
|
||||
inline fun <reified T : Any> gsonDeserializerOf(clazz: Class<T>) = gsonDeserializer<T>()
|
||||
|
||||
inline fun <reified T : Any> gsonDeserializer(gson: Gson = Gson()) = object :
|
||||
ResponseDeserializable<T> {
|
||||
|
||||
override fun deserialize(content: String): T? =
|
||||
gson.fromJson<T>(content, object : TypeToken<T>() {}.type)
|
||||
|
||||
override fun deserialize(reader: Reader): T? =
|
||||
gson.fromJson<T>(reader, object : TypeToken<T>() {}.type)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue