Fix issue #124 - empty queue on restart.

The Gson deserializer required parameter is a reader object.  It
silently fails when passed a string.
This commit is contained in:
Hugh Daschbach 2022-07-14 04:12:30 -07:00 committed by Ryan Harg
parent bc752b3057
commit 79e27578e5
10 changed files with 14 additions and 14 deletions

View File

@ -29,7 +29,7 @@ class QueueManager(val context: Context) {
init {
FFACache.getLine(context, "queue")?.let { json ->
gsonDeserializerOf(QueueCache::class.java).deserialize(json)?.let { cache ->
gsonDeserializerOf(QueueCache::class.java).deserialize(json.reader())?.let { cache ->
metadata = cache.data.toMutableList()
val factory = cacheDataSourceFactoryProvider.create(context)

View File

@ -35,5 +35,5 @@ class AlbumsRepository(override val context: Context?, artistId: Int? = null) :
override fun cache(data: List<Album>) = AlbumsCache(data)
override fun uncache(json: String) =
gsonDeserializerOf(AlbumsCache::class.java).deserialize(json)
gsonDeserializerOf(AlbumsCache::class.java).deserialize(json.reader())
}

View File

@ -27,5 +27,5 @@ class ArtistTracksRepository(override val context: Context?, private val artistI
override fun cache(data: List<Track>) = TracksCache(data)
override fun uncache(json: String) =
gsonDeserializerOf(TracksCache::class.java).deserialize(json)
gsonDeserializerOf(TracksCache::class.java).deserialize(json.reader())
}

View File

@ -26,5 +26,5 @@ class ArtistsRepository(override val context: Context?) : Repository<Artist, Art
override fun cache(data: List<Artist>) = ArtistsCache(data)
override fun uncache(json: String) =
gsonDeserializerOf(ArtistsCache::class.java).deserialize(json)
gsonDeserializerOf(ArtistsCache::class.java).deserialize(json.reader())
}

View File

@ -34,7 +34,7 @@ class FavoritesRepository(override val context: Context?) : Repository<Track, Tr
override fun cache(data: List<Track>) = TracksCache(data)
override fun uncache(json: String) =
gsonDeserializerOf(TracksCache::class.java).deserialize(json)
gsonDeserializerOf(TracksCache::class.java).deserialize(json.reader())
private val favoritedRepository = FavoritedRepository(context!!)
@ -115,7 +115,7 @@ class FavoritedRepository(override val context: Context?) : Repository<Int, Favo
override fun cache(data: List<Int>) = FavoritedCache(data)
override fun uncache(json: String) =
gsonDeserializerOf(FavoritedCache::class.java).deserialize(json)
gsonDeserializerOf(FavoritedCache::class.java).deserialize(json.reader())
fun update(context: Context?, scope: CoroutineScope) {
fetch(Origin.Network.origin).untilNetwork(scope, IO) { favorites, _, _, _ ->

View File

@ -30,7 +30,7 @@ class PlaylistTracksRepository(override val context: Context?, playlistId: Int)
override fun cache(data: List<PlaylistTrack>) = PlaylistTracksCache(data)
override fun uncache(json: String) =
gsonDeserializerOf(PlaylistTracksCache::class.java).deserialize(json)
gsonDeserializerOf(PlaylistTracksCache::class.java).deserialize(json.reader())
override fun onDataFetched(data: List<PlaylistTrack>): List<PlaylistTrack> = runBlocking {
val favorites = FavoritedRepository(context).fetch(Origin.Network.origin)

View File

@ -30,7 +30,7 @@ class PlaylistsRepository(override val context: Context?) : Repository<Playlist,
override fun cache(data: List<Playlist>) = PlaylistsCache(data)
override fun uncache(json: String) =
gsonDeserializerOf(PlaylistsCache::class.java).deserialize(json)
gsonDeserializerOf(PlaylistsCache::class.java).deserialize(json.reader())
}
class ManagementPlaylistsRepository(override val context: Context?) :
@ -50,7 +50,7 @@ class ManagementPlaylistsRepository(override val context: Context?) :
override fun cache(data: List<Playlist>) = PlaylistsCache(data)
override fun uncache(json: String) =
gsonDeserializerOf(PlaylistsCache::class.java).deserialize(json)
gsonDeserializerOf(PlaylistsCache::class.java).deserialize(json.reader())
suspend fun new(name: String): Int? {
context?.let {

View File

@ -26,7 +26,7 @@ class RadiosRepository(override val context: Context?) : Repository<Radio, Radio
override fun cache(data: List<Radio>) = RadiosCache(data)
override fun uncache(json: String) =
gsonDeserializerOf(RadiosCache::class.java).deserialize(json)
gsonDeserializerOf(RadiosCache::class.java).deserialize(json.reader())
override fun onDataFetched(data: List<Radio>): List<Radio> {
return data

View File

@ -34,7 +34,7 @@ class TracksSearchRepository(override val context: Context?, var query: String)
override fun cache(data: List<Track>) = TracksCache(data)
override fun uncache(json: String) =
gsonDeserializerOf(TracksCache::class.java).deserialize(json)
gsonDeserializerOf(TracksCache::class.java).deserialize(json.reader())
override fun onDataFetched(data: List<Track>): List<Track> = runBlocking {
val favorites = FavoritedRepository(context).fetch(Origin.Cache.origin)
@ -76,7 +76,7 @@ class ArtistsSearchRepository(override val context: Context?, var query: String)
override fun cache(data: List<Artist>) = ArtistsCache(data)
override fun uncache(json: String) =
gsonDeserializerOf(ArtistsCache::class.java).deserialize(json)
gsonDeserializerOf(ArtistsCache::class.java).deserialize(json.reader())
}
class AlbumsSearchRepository(override val context: Context?, var query: String) :
@ -96,5 +96,5 @@ class AlbumsSearchRepository(override val context: Context?, var query: String)
override fun cache(data: List<Album>) = AlbumsCache(data)
override fun uncache(json: String) =
gsonDeserializerOf(AlbumsCache::class.java).deserialize(json)
gsonDeserializerOf(AlbumsCache::class.java).deserialize(json.reader())
}

View File

@ -38,7 +38,7 @@ class TracksRepository(override val context: Context?, albumId: Int) :
override fun cache(data: List<Track>) = TracksCache(data)
override fun uncache(json: String) =
gsonDeserializerOf(TracksCache::class.java).deserialize(json)
gsonDeserializerOf(TracksCache::class.java).deserialize(json.reader())
companion object {
fun getDownloadedIds(exoDownloadManager: DownloadManager): List<Int>? {