mirror of
https://github.com/cmclark00/RetroMusicPlayer.git
synced 2025-05-19 08:35:20 +01:00
refactor code
This commit is contained in:
parent
f4c56c8484
commit
d6a99f99e4
29 changed files with 299 additions and 178 deletions
|
@ -3,6 +3,12 @@ package code.name.monkey.retromusic.mvp.presenter
|
|||
import code.name.monkey.retromusic.mvp.Presenter
|
||||
import code.name.monkey.retromusic.mvp.contract.HomeContract
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||
import io.reactivex.disposables.CompositeDisposable
|
||||
import io.reactivex.disposables.Disposable
|
||||
|
||||
operator fun CompositeDisposable.plusAssign(disposable: Disposable) {
|
||||
add(disposable)
|
||||
}
|
||||
|
||||
class HomePresenter(private val view: HomeContract.HomeView) : Presenter(), HomeContract.HomePresenter {
|
||||
|
||||
|
@ -19,22 +25,24 @@ class HomePresenter(private val view: HomeContract.HomeView) : Presenter(), Home
|
|||
}
|
||||
|
||||
override fun unsubscribe() {
|
||||
disposable.clear()
|
||||
if (!disposable.isDisposed) {
|
||||
disposable.dispose()
|
||||
}
|
||||
}
|
||||
|
||||
fun loadPlaylists() {
|
||||
disposable.add(repository.allPlaylists
|
||||
disposable += repository.allPlaylists
|
||||
.observeOn(schedulerProvider.ui())
|
||||
.subscribeOn(schedulerProvider.io())
|
||||
.subscribe({ playlist ->
|
||||
if (!playlist.isEmpty()) {
|
||||
view.playlists(playlist)
|
||||
}
|
||||
}, { view.showEmptyView() }, { view.completed() }))
|
||||
}, { view.showEmptyView() }, { view.completed() })
|
||||
}
|
||||
|
||||
override fun loadRecentAlbums() {
|
||||
disposable.add(repository.recentAlbums
|
||||
disposable += repository.recentAlbums
|
||||
.observeOn(schedulerProvider.ui())
|
||||
.subscribeOn(schedulerProvider.io())
|
||||
.doOnSubscribe { view.loading() }
|
||||
|
@ -42,11 +50,11 @@ class HomePresenter(private val view: HomeContract.HomeView) : Presenter(), Home
|
|||
if (!artists.isEmpty()) {
|
||||
view.recentAlbum(artists)
|
||||
}
|
||||
}, { view.showEmptyView() }, { view.completed() }))
|
||||
}, { view.showEmptyView() }, { view.completed() })
|
||||
}
|
||||
|
||||
override fun loadTopAlbums() {
|
||||
disposable.add(repository.topAlbums
|
||||
disposable += repository.topAlbums
|
||||
.observeOn(schedulerProvider.ui())
|
||||
.subscribeOn(schedulerProvider.io())
|
||||
.doOnSubscribe { view.loading() }
|
||||
|
@ -54,11 +62,11 @@ class HomePresenter(private val view: HomeContract.HomeView) : Presenter(), Home
|
|||
if (!artists.isEmpty()) {
|
||||
view.topAlbums(artists)
|
||||
}
|
||||
}, { view.showEmptyView() }, { view.completed() }))
|
||||
}, { view.showEmptyView() }, { view.completed() })
|
||||
}
|
||||
|
||||
override fun loadRecentArtists() {
|
||||
disposable.add(repository.recentArtists
|
||||
disposable += repository.recentArtists
|
||||
.observeOn(schedulerProvider.ui())
|
||||
.subscribeOn(schedulerProvider.io())
|
||||
.doOnSubscribe { view.loading() }
|
||||
|
@ -66,11 +74,11 @@ class HomePresenter(private val view: HomeContract.HomeView) : Presenter(), Home
|
|||
if (!artists.isEmpty()) {
|
||||
view.recentArtist(artists)
|
||||
}
|
||||
}, { view.showEmptyView() }, { view.completed() }))
|
||||
}, { view.showEmptyView() }, { view.completed() })
|
||||
}
|
||||
|
||||
override fun loadTopArtists() {
|
||||
disposable.add(repository.topArtists
|
||||
disposable += repository.topArtists
|
||||
.observeOn(schedulerProvider.ui())
|
||||
.subscribeOn(schedulerProvider.io())
|
||||
.doOnSubscribe { view.loading() }
|
||||
|
@ -78,20 +86,21 @@ class HomePresenter(private val view: HomeContract.HomeView) : Presenter(), Home
|
|||
if (!artists.isEmpty()) {
|
||||
view.topArtists(artists)
|
||||
}
|
||||
}, { view.showEmptyView() }, { view.completed() }))
|
||||
}, { view.showEmptyView() }, { view.completed() })
|
||||
|
||||
}
|
||||
|
||||
override fun loadSuggestions() {
|
||||
disposable.add(repository.suggestionSongs
|
||||
disposable += repository.suggestionSongs
|
||||
.observeOn(schedulerProvider.ui())
|
||||
.subscribeOn(schedulerProvider.io())
|
||||
.doOnSubscribe { view.loading() }
|
||||
.subscribe({ songs -> view.suggestions(songs) }, { view.showEmptyView() }, { view.completed() }))
|
||||
.subscribe({ songs -> view.suggestions(songs) },
|
||||
{ view.showEmptyView() }, { view.completed() })
|
||||
}
|
||||
|
||||
override fun loadGenres() {
|
||||
disposable.add(repository.allGenres
|
||||
disposable += repository.allGenres
|
||||
.observeOn(schedulerProvider.ui())
|
||||
.subscribeOn(schedulerProvider.io())
|
||||
.doOnSubscribe { view.loading() }
|
||||
|
@ -99,7 +108,6 @@ class HomePresenter(private val view: HomeContract.HomeView) : Presenter(), Home
|
|||
if (!genres.isEmpty()) {
|
||||
view.geners(genres)
|
||||
}
|
||||
},
|
||||
{ view.showEmptyView() }, { view.completed() }))
|
||||
}, { view.showEmptyView() }, { view.completed() })
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue