Merge branch 'bugfix/124' into 'develop'
Fix issue #124 - empty queue on restart. Closes #124 See merge request funkwhale/funkwhale-android!185
This commit is contained in:
commit
75c8453cca
|
@ -29,7 +29,7 @@ class QueueManager(val context: Context) {
|
||||||
|
|
||||||
init {
|
init {
|
||||||
FFACache.getLine(context, "queue")?.let { json ->
|
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()
|
metadata = cache.data.toMutableList()
|
||||||
|
|
||||||
val factory = cacheDataSourceFactoryProvider.create(context)
|
val factory = cacheDataSourceFactoryProvider.create(context)
|
||||||
|
|
|
@ -35,5 +35,5 @@ class AlbumsRepository(override val context: Context?, artistId: Int? = null) :
|
||||||
|
|
||||||
override fun cache(data: List<Album>) = AlbumsCache(data)
|
override fun cache(data: List<Album>) = AlbumsCache(data)
|
||||||
override fun uncache(json: String) =
|
override fun uncache(json: String) =
|
||||||
gsonDeserializerOf(AlbumsCache::class.java).deserialize(json)
|
gsonDeserializerOf(AlbumsCache::class.java).deserialize(json.reader())
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,5 +27,5 @@ class ArtistTracksRepository(override val context: Context?, private val artistI
|
||||||
|
|
||||||
override fun cache(data: List<Track>) = TracksCache(data)
|
override fun cache(data: List<Track>) = TracksCache(data)
|
||||||
override fun uncache(json: String) =
|
override fun uncache(json: String) =
|
||||||
gsonDeserializerOf(TracksCache::class.java).deserialize(json)
|
gsonDeserializerOf(TracksCache::class.java).deserialize(json.reader())
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,5 +26,5 @@ class ArtistsRepository(override val context: Context?) : Repository<Artist, Art
|
||||||
|
|
||||||
override fun cache(data: List<Artist>) = ArtistsCache(data)
|
override fun cache(data: List<Artist>) = ArtistsCache(data)
|
||||||
override fun uncache(json: String) =
|
override fun uncache(json: String) =
|
||||||
gsonDeserializerOf(ArtistsCache::class.java).deserialize(json)
|
gsonDeserializerOf(ArtistsCache::class.java).deserialize(json.reader())
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ class FavoritesRepository(override val context: Context?) : Repository<Track, Tr
|
||||||
|
|
||||||
override fun cache(data: List<Track>) = TracksCache(data)
|
override fun cache(data: List<Track>) = TracksCache(data)
|
||||||
override fun uncache(json: String) =
|
override fun uncache(json: String) =
|
||||||
gsonDeserializerOf(TracksCache::class.java).deserialize(json)
|
gsonDeserializerOf(TracksCache::class.java).deserialize(json.reader())
|
||||||
|
|
||||||
private val favoritedRepository = FavoritedRepository(context!!)
|
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 cache(data: List<Int>) = FavoritedCache(data)
|
||||||
override fun uncache(json: String) =
|
override fun uncache(json: String) =
|
||||||
gsonDeserializerOf(FavoritedCache::class.java).deserialize(json)
|
gsonDeserializerOf(FavoritedCache::class.java).deserialize(json.reader())
|
||||||
|
|
||||||
fun update(context: Context?, scope: CoroutineScope) {
|
fun update(context: Context?, scope: CoroutineScope) {
|
||||||
fetch(Origin.Network.origin).untilNetwork(scope, IO) { favorites, _, _, _ ->
|
fetch(Origin.Network.origin).untilNetwork(scope, IO) { favorites, _, _, _ ->
|
||||||
|
|
|
@ -30,7 +30,7 @@ class PlaylistTracksRepository(override val context: Context?, playlistId: Int)
|
||||||
|
|
||||||
override fun cache(data: List<PlaylistTrack>) = PlaylistTracksCache(data)
|
override fun cache(data: List<PlaylistTrack>) = PlaylistTracksCache(data)
|
||||||
override fun uncache(json: String) =
|
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 {
|
override fun onDataFetched(data: List<PlaylistTrack>): List<PlaylistTrack> = runBlocking {
|
||||||
val favorites = FavoritedRepository(context).fetch(Origin.Network.origin)
|
val favorites = FavoritedRepository(context).fetch(Origin.Network.origin)
|
||||||
|
|
|
@ -30,7 +30,7 @@ class PlaylistsRepository(override val context: Context?) : Repository<Playlist,
|
||||||
|
|
||||||
override fun cache(data: List<Playlist>) = PlaylistsCache(data)
|
override fun cache(data: List<Playlist>) = PlaylistsCache(data)
|
||||||
override fun uncache(json: String) =
|
override fun uncache(json: String) =
|
||||||
gsonDeserializerOf(PlaylistsCache::class.java).deserialize(json)
|
gsonDeserializerOf(PlaylistsCache::class.java).deserialize(json.reader())
|
||||||
}
|
}
|
||||||
|
|
||||||
class ManagementPlaylistsRepository(override val context: Context?) :
|
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 cache(data: List<Playlist>) = PlaylistsCache(data)
|
||||||
override fun uncache(json: String) =
|
override fun uncache(json: String) =
|
||||||
gsonDeserializerOf(PlaylistsCache::class.java).deserialize(json)
|
gsonDeserializerOf(PlaylistsCache::class.java).deserialize(json.reader())
|
||||||
|
|
||||||
suspend fun new(name: String): Int? {
|
suspend fun new(name: String): Int? {
|
||||||
context?.let {
|
context?.let {
|
||||||
|
|
|
@ -26,7 +26,7 @@ class RadiosRepository(override val context: Context?) : Repository<Radio, Radio
|
||||||
|
|
||||||
override fun cache(data: List<Radio>) = RadiosCache(data)
|
override fun cache(data: List<Radio>) = RadiosCache(data)
|
||||||
override fun uncache(json: String) =
|
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> {
|
override fun onDataFetched(data: List<Radio>): List<Radio> {
|
||||||
return data
|
return data
|
||||||
|
|
|
@ -34,7 +34,7 @@ class TracksSearchRepository(override val context: Context?, var query: String)
|
||||||
|
|
||||||
override fun cache(data: List<Track>) = TracksCache(data)
|
override fun cache(data: List<Track>) = TracksCache(data)
|
||||||
override fun uncache(json: String) =
|
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 {
|
override fun onDataFetched(data: List<Track>): List<Track> = runBlocking {
|
||||||
val favorites = FavoritedRepository(context).fetch(Origin.Cache.origin)
|
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 cache(data: List<Artist>) = ArtistsCache(data)
|
||||||
override fun uncache(json: String) =
|
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) :
|
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 cache(data: List<Album>) = AlbumsCache(data)
|
||||||
override fun uncache(json: String) =
|
override fun uncache(json: String) =
|
||||||
gsonDeserializerOf(AlbumsCache::class.java).deserialize(json)
|
gsonDeserializerOf(AlbumsCache::class.java).deserialize(json.reader())
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ class TracksRepository(override val context: Context?, albumId: Int) :
|
||||||
|
|
||||||
override fun cache(data: List<Track>) = TracksCache(data)
|
override fun cache(data: List<Track>) = TracksCache(data)
|
||||||
override fun uncache(json: String) =
|
override fun uncache(json: String) =
|
||||||
gsonDeserializerOf(TracksCache::class.java).deserialize(json)
|
gsonDeserializerOf(TracksCache::class.java).deserialize(json.reader())
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun getDownloadedIds(exoDownloadManager: DownloadManager): List<Int>? {
|
fun getDownloadedIds(exoDownloadManager: DownloadManager): List<Int>? {
|
||||||
|
|
Loading…
Reference in New Issue