mirror of
https://github.com/cmclark00/RetroMusicPlayer.git
synced 2025-05-19 16:45:20 +01:00
Rolled back to old style image loading and mosaic
This commit is contained in:
parent
d6a961a977
commit
397f42a54a
76 changed files with 1560 additions and 1452 deletions
|
@ -19,7 +19,7 @@ import code.name.monkey.retromusic.model.Artist
|
|||
import code.name.monkey.retromusic.mvp.Presenter
|
||||
import code.name.monkey.retromusic.mvp.PresenterImpl
|
||||
import code.name.monkey.retromusic.providers.interfaces.Repository
|
||||
import io.reactivex.disposables.Disposable
|
||||
import io.reactivex.disposables.CompositeDisposable
|
||||
import javax.inject.Inject
|
||||
|
||||
|
||||
|
@ -48,7 +48,7 @@ interface AlbumDetailsPresenter : Presenter<AlbumDetailsView> {
|
|||
private lateinit var album: Album
|
||||
|
||||
override fun loadMore(artistId: Int) {
|
||||
disposable = repository.getArtistByIdFlowable(artistId)
|
||||
disposable += repository.getArtistByIdFlowable(artistId)
|
||||
.map {
|
||||
view.loadArtistImage(it)
|
||||
return@map it.albums
|
||||
|
@ -64,10 +64,10 @@ interface AlbumDetailsPresenter : Presenter<AlbumDetailsView> {
|
|||
}
|
||||
}
|
||||
|
||||
private var disposable: Disposable? = null
|
||||
private var disposable: CompositeDisposable = CompositeDisposable()
|
||||
|
||||
override fun loadAlbum(albumId: Int) {
|
||||
disposable = repository.getAlbumFlowable(albumId)
|
||||
disposable += repository.getAlbumFlowable(albumId)
|
||||
.doOnComplete {
|
||||
view.complete()
|
||||
}
|
||||
|
@ -79,7 +79,7 @@ interface AlbumDetailsPresenter : Presenter<AlbumDetailsView> {
|
|||
|
||||
override fun detachView() {
|
||||
super.detachView()
|
||||
disposable?.dispose()
|
||||
disposable.dispose()
|
||||
}
|
||||
}
|
||||
}
|
|
@ -20,7 +20,7 @@ import code.name.monkey.retromusic.mvp.Presenter
|
|||
import code.name.monkey.retromusic.mvp.PresenterImpl
|
||||
import code.name.monkey.retromusic.providers.interfaces.Repository
|
||||
import code.name.monkey.retromusic.rest.model.LastFmArtist
|
||||
import io.reactivex.disposables.Disposable
|
||||
import io.reactivex.disposables.CompositeDisposable
|
||||
import java.util.*
|
||||
import javax.inject.Inject
|
||||
|
||||
|
@ -49,16 +49,16 @@ interface ArtistDetailsPresenter : Presenter<ArtistDetailsView> {
|
|||
override fun loadBiography(name: String,
|
||||
lang: String?,
|
||||
cache: String?) {
|
||||
disposable = repository.artistInfoFloable(name, lang, cache)
|
||||
disposable += repository.artistInfoFloable(name, lang, cache)
|
||||
.subscribe {
|
||||
view.artistInfo(it)
|
||||
}
|
||||
}
|
||||
|
||||
private var disposable: Disposable? = null
|
||||
private var disposable = CompositeDisposable()
|
||||
|
||||
override fun loadArtist(artistId: Int) {
|
||||
disposable = repository.getArtistByIdFlowable(artistId)
|
||||
disposable += repository.getArtistByIdFlowable(artistId)
|
||||
.doOnComplete {
|
||||
view.complete()
|
||||
}
|
||||
|
@ -67,6 +67,10 @@ interface ArtistDetailsPresenter : Presenter<ArtistDetailsView> {
|
|||
}
|
||||
}
|
||||
|
||||
override fun detachView() {
|
||||
super.detachView()
|
||||
disposable.dispose()
|
||||
}
|
||||
|
||||
private fun showArtist(artist: Artist) {
|
||||
view.artist(artist)
|
||||
|
|
|
@ -20,11 +20,15 @@ import code.name.monkey.retromusic.adapter.HomeAdapter.Companion.RECENT_ALBUMS
|
|||
import code.name.monkey.retromusic.adapter.HomeAdapter.Companion.RECENT_ARTISTS
|
||||
import code.name.monkey.retromusic.adapter.HomeAdapter.Companion.TOP_ALBUMS
|
||||
import code.name.monkey.retromusic.adapter.HomeAdapter.Companion.TOP_ARTISTS
|
||||
import code.name.monkey.retromusic.model.Album
|
||||
import code.name.monkey.retromusic.model.Artist
|
||||
import code.name.monkey.retromusic.model.Home
|
||||
import code.name.monkey.retromusic.model.Playlist
|
||||
import code.name.monkey.retromusic.mvp.BaseView
|
||||
import code.name.monkey.retromusic.mvp.Presenter
|
||||
import code.name.monkey.retromusic.mvp.PresenterImpl
|
||||
import code.name.monkey.retromusic.providers.interfaces.Repository
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.disposables.CompositeDisposable
|
||||
import io.reactivex.disposables.Disposable
|
||||
import javax.inject.Inject
|
||||
|
@ -44,15 +48,16 @@ interface HomePresenter : Presenter<HomeView> {
|
|||
private val repository: Repository
|
||||
) : PresenterImpl<HomeView>(), HomePresenter {
|
||||
override fun loadSections() {
|
||||
loadRecentArtists()
|
||||
/*loadRecentArtists()
|
||||
loadRecentAlbums()
|
||||
loadTopArtists()
|
||||
loadATopAlbums()
|
||||
loadFavorite()
|
||||
loadFavorite()*/
|
||||
loadHomeSection()
|
||||
}
|
||||
|
||||
private var disposable: CompositeDisposable = CompositeDisposable()
|
||||
private val hashSet: HashSet<Home> = HashSet()
|
||||
|
||||
|
||||
private fun showData(sections: ArrayList<Home>) {
|
||||
if (sections.isEmpty()) {
|
||||
|
@ -62,7 +67,7 @@ interface HomePresenter : Presenter<HomeView> {
|
|||
}
|
||||
}
|
||||
|
||||
private fun loadRecentArtists() {
|
||||
/*private fun loadRecentArtists() {
|
||||
disposable += repository.recentArtistsFlowable
|
||||
.subscribe {
|
||||
if (it.isNotEmpty()) hashSet.add(
|
||||
|
@ -135,8 +140,67 @@ interface HomePresenter : Presenter<HomeView> {
|
|||
))
|
||||
showData(ArrayList(hashSet))
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
private fun loadHomeSection() {
|
||||
val ob = listOf(repository.recentArtistsFlowable,
|
||||
repository.recentAlbumsFlowable,
|
||||
repository.topArtistsFlowable,
|
||||
repository.topAlbumsFlowable,
|
||||
repository.favoritePlaylistFlowable)
|
||||
|
||||
disposable += Observable.combineLatest(ob) {
|
||||
val hashSet: HashSet<Home> = HashSet()
|
||||
val recentArtist = it[0] as ArrayList<Artist>
|
||||
if (recentArtist.isNotEmpty()) hashSet.add(
|
||||
Home(0,
|
||||
R.string.recent_artists,
|
||||
0,
|
||||
recentArtist,
|
||||
RECENT_ARTISTS,
|
||||
R.drawable.ic_artist_white_24dp
|
||||
))
|
||||
val recentAlbums = it[1] as ArrayList<Album>
|
||||
if (recentAlbums.isNotEmpty()) hashSet.add(
|
||||
Home(1,
|
||||
R.string.recent_albums,
|
||||
0,
|
||||
recentAlbums,
|
||||
RECENT_ALBUMS,
|
||||
R.drawable.ic_album_white_24dp
|
||||
))
|
||||
val topArtists = it[2] as ArrayList<Artist>
|
||||
if (topArtists.isNotEmpty()) hashSet.add(
|
||||
Home(2,
|
||||
R.string.top_artists,
|
||||
0,
|
||||
topArtists,
|
||||
TOP_ARTISTS,
|
||||
R.drawable.ic_artist_white_24dp
|
||||
))
|
||||
val topAlbums = it[3] as ArrayList<Album>
|
||||
if (topAlbums.isNotEmpty()) hashSet.add(
|
||||
Home(3,
|
||||
R.string.top_albums,
|
||||
0,
|
||||
topAlbums,
|
||||
TOP_ALBUMS,
|
||||
R.drawable.ic_album_white_24dp
|
||||
))
|
||||
val playlists = it[4] as ArrayList<Playlist>
|
||||
if (playlists.isNotEmpty()) hashSet.add(
|
||||
Home(4,
|
||||
R.string.favorites,
|
||||
0,
|
||||
playlists,
|
||||
PLAYLISTS,
|
||||
R.drawable.ic_favorite_white_24dp
|
||||
))
|
||||
return@combineLatest hashSet
|
||||
}.subscribe {
|
||||
view.sections(ArrayList(it))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue