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.AlbumsCache
|
||||||
import audio.funkwhale.ffa.model.AlbumsResponse
|
import audio.funkwhale.ffa.model.AlbumsResponse
|
||||||
import audio.funkwhale.ffa.utils.OAuth
|
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 com.google.gson.reflect.TypeToken
|
||||||
import org.koin.java.KoinJavaComponent.inject
|
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.TracksCache
|
||||||
import audio.funkwhale.ffa.model.TracksResponse
|
import audio.funkwhale.ffa.model.TracksResponse
|
||||||
import audio.funkwhale.ffa.utils.OAuth
|
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 com.google.gson.reflect.TypeToken
|
||||||
import org.koin.java.KoinJavaComponent.inject
|
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.ArtistsResponse
|
||||||
import audio.funkwhale.ffa.model.FFAResponse
|
import audio.funkwhale.ffa.model.FFAResponse
|
||||||
import audio.funkwhale.ffa.utils.OAuth
|
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 com.google.gson.reflect.TypeToken
|
||||||
import org.koin.java.KoinJavaComponent.inject
|
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.PlaylistTracksCache
|
||||||
import audio.funkwhale.ffa.model.PlaylistTracksResponse
|
import audio.funkwhale.ffa.model.PlaylistTracksResponse
|
||||||
import audio.funkwhale.ffa.utils.OAuth
|
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 com.google.gson.reflect.TypeToken
|
||||||
import kotlinx.coroutines.flow.map
|
import kotlinx.coroutines.flow.map
|
||||||
import kotlinx.coroutines.flow.toList
|
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.OAuth
|
||||||
import audio.funkwhale.ffa.utils.Settings
|
import audio.funkwhale.ffa.utils.Settings
|
||||||
import audio.funkwhale.ffa.utils.authorize
|
import audio.funkwhale.ffa.utils.authorize
|
||||||
import audio.funkwhale.ffa.utils.gsonDeserializerOf
|
|
||||||
import audio.funkwhale.ffa.utils.mustNormalizeUrl
|
import audio.funkwhale.ffa.utils.mustNormalizeUrl
|
||||||
import com.github.kittinunf.fuel.Fuel
|
import com.github.kittinunf.fuel.Fuel
|
||||||
import com.github.kittinunf.fuel.coroutines.awaitByteArrayResponseResult
|
import com.github.kittinunf.fuel.coroutines.awaitByteArrayResponseResult
|
||||||
import com.github.kittinunf.fuel.coroutines.awaitObjectResponseResult
|
import com.github.kittinunf.fuel.coroutines.awaitObjectResponseResult
|
||||||
|
import com.github.kittinunf.fuel.gson.gsonDeserializerOf
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import com.google.gson.reflect.TypeToken
|
import com.google.gson.reflect.TypeToken
|
||||||
import kotlinx.coroutines.Dispatchers
|
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.RadiosCache
|
||||||
import audio.funkwhale.ffa.model.RadiosResponse
|
import audio.funkwhale.ffa.model.RadiosResponse
|
||||||
import audio.funkwhale.ffa.utils.OAuth
|
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 com.google.gson.reflect.TypeToken
|
||||||
import org.koin.java.KoinJavaComponent.inject
|
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.TracksCache
|
||||||
import audio.funkwhale.ffa.model.TracksResponse
|
import audio.funkwhale.ffa.model.TracksResponse
|
||||||
import audio.funkwhale.ffa.utils.OAuth
|
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 audio.funkwhale.ffa.utils.mustNormalizeUrl
|
||||||
import com.google.android.exoplayer2.offline.DownloadManager
|
import com.google.android.exoplayer2.offline.DownloadManager
|
||||||
import com.google.android.exoplayer2.upstream.cache.Cache
|
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.model.TracksResponse
|
||||||
import audio.funkwhale.ffa.utils.OAuth
|
import audio.funkwhale.ffa.utils.OAuth
|
||||||
import audio.funkwhale.ffa.utils.getMetadata
|
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 audio.funkwhale.ffa.utils.mustNormalizeUrl
|
||||||
import com.google.android.exoplayer2.offline.Download
|
import com.google.android.exoplayer2.offline.Download
|
||||||
import com.google.android.exoplayer2.offline.DownloadManager
|
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 {
|
fun Date.format(): String {
|
||||||
return ISO_8601_DATE_TIME_FORMAT.format(this)
|
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