Adde search genre
This commit is contained in:
parent
ee6af2a6d6
commit
ff0fccae92
29 changed files with 460 additions and 589 deletions
|
@ -247,12 +247,6 @@ class RepositoryImpl(private val context: Context) : Repository {
|
|||
}
|
||||
}
|
||||
|
||||
override fun getSongFlowable(id: Int): Observable<Song> {
|
||||
return SongLoader.getSongFlowable(context, id)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
}
|
||||
|
||||
override fun getAlbumFlowable(albumId: Int): Observable<Album> {
|
||||
return AlbumLoader.getAlbumFlowable(context, albumId)
|
||||
.subscribeOn(Schedulers.io())
|
||||
|
@ -271,70 +265,12 @@ class RepositoryImpl(private val context: Context) : Repository {
|
|||
.observeOn(AndroidSchedulers.mainThread())
|
||||
}
|
||||
|
||||
override fun getGenreFlowable(genreId: Int): Observable<ArrayList<Song>> {
|
||||
return GenreLoader.getSongsFlowable(context, genreId)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
}
|
||||
|
||||
|
||||
override val favoritePlaylistFlowable: Observable<ArrayList<Playlist>>
|
||||
get() = PlaylistLoader.getFavoritePlaylistFlowable(context)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
|
||||
|
||||
override val allSongsFlowable: Observable<ArrayList<Song>>
|
||||
get() = SongLoader.getAllSongsFlowable(context)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
|
||||
override val suggestionSongsFlowable: Observable<ArrayList<Song>>
|
||||
get() = SongLoader.suggestSongs(context)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
|
||||
override val allAlbumsFlowable: Observable<ArrayList<Album>>
|
||||
get() = AlbumLoader.getAllAlbumsFlowable(context)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
|
||||
override val recentAlbumsFlowable: Observable<ArrayList<Album>>
|
||||
get() = LastAddedSongsLoader.getLastAddedAlbumsFlowable(context)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
|
||||
override val topAlbumsFlowable: Observable<ArrayList<Album>>
|
||||
get() = TopAndRecentlyPlayedTracksLoader.getTopAlbumsFlowable(context)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
|
||||
override val allArtistsFlowable: Observable<ArrayList<Artist>>
|
||||
get() = ArtistLoader.getAllArtistsFlowable(context)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
|
||||
override val recentArtistsFlowable: Observable<ArrayList<Artist>>
|
||||
get() = LastAddedSongsLoader.getLastAddedArtistsFlowable(context)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
|
||||
override val topArtistsFlowable: Observable<ArrayList<Artist>>
|
||||
get() = TopAndRecentlyPlayedTracksLoader.getTopArtistsFlowable(context)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
|
||||
override val allPlaylistsFlowable: Observable<ArrayList<Playlist>>
|
||||
get() = PlaylistLoader.getAllPlaylistsFlowoable(context)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
|
||||
|
||||
override val allGenresFlowable: Observable<ArrayList<Genre>>
|
||||
get() = GenreLoader.getAllGenresFlowable(context)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
|
||||
override fun getSong(id: Int): Song {
|
||||
return SongLoader.getSong(context, id)
|
||||
}
|
||||
|
@ -347,11 +283,10 @@ class RepositoryImpl(private val context: Context) : Repository {
|
|||
return ArtistLoader.getArtist(context, artistId.toInt())
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
suspend fun <T : Any> safeApiCall(call: suspend () -> Result<T>, errorMessage: String): Result<T> = try {
|
||||
call.invoke()
|
||||
} catch (e: Exception) {
|
||||
Result.Error(IOException(errorMessage, e))
|
||||
Error(IOException(errorMessage, e))
|
||||
}
|
||||
|
|
|
@ -55,28 +55,6 @@ interface Repository {
|
|||
|
||||
suspend fun artistById(artistId: Int): Result<Artist>
|
||||
|
||||
val allSongsFlowable: Observable<ArrayList<Song>>
|
||||
|
||||
val suggestionSongsFlowable: Observable<ArrayList<Song>>
|
||||
|
||||
val allAlbumsFlowable: Observable<ArrayList<Album>>
|
||||
|
||||
val recentAlbumsFlowable: Observable<ArrayList<Album>>
|
||||
|
||||
val topAlbumsFlowable: Observable<ArrayList<Album>>
|
||||
|
||||
val allArtistsFlowable: Observable<ArrayList<Artist>>
|
||||
|
||||
val recentArtistsFlowable: Observable<ArrayList<Artist>>
|
||||
|
||||
val topArtistsFlowable: Observable<ArrayList<Artist>>
|
||||
|
||||
val allPlaylistsFlowable: Observable<ArrayList<Playlist>>
|
||||
|
||||
val allGenresFlowable: Observable<ArrayList<Genre>>
|
||||
|
||||
fun getSongFlowable(id: Int): Observable<Song>
|
||||
|
||||
fun getSong(id: Int): Song
|
||||
|
||||
fun getAlbumFlowable(albumId: Int): Observable<Album>
|
||||
|
@ -89,10 +67,6 @@ interface Repository {
|
|||
|
||||
fun getPlaylistSongsFlowable(playlist: Playlist): Observable<ArrayList<Song>>
|
||||
|
||||
fun getGenreFlowable(genreId: Int): Observable<ArrayList<Song>>
|
||||
|
||||
|
||||
val favoritePlaylistFlowable: Observable<ArrayList<Playlist>>
|
||||
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue