Fixing animations

This commit is contained in:
h4h13 2020-01-02 09:23:43 +05:30
parent 5a51d0bfc0
commit 44baab2109
25 changed files with 476 additions and 386 deletions

View file

@ -21,15 +21,19 @@ 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 kotlinx.coroutines.*
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import javax.inject.Inject
import kotlin.coroutines.CoroutineContext
/**
* Created by hemanths on 20/08/17.
*/
interface AlbumDetailsView {
fun album(album: Album)
fun complete()
@ -45,8 +49,9 @@ interface AlbumDetailsPresenter : Presenter<AlbumDetailsView> {
fun loadMore(artistId: Int)
class AlbumDetailsPresenterImpl @Inject constructor(
private val repository: Repository
private val repository: Repository
) : PresenterImpl<AlbumDetailsView>(), AlbumDetailsPresenter, CoroutineScope {
private val job = Job()
private lateinit var album: Album
@ -63,11 +68,10 @@ interface AlbumDetailsPresenter : Presenter<AlbumDetailsView> {
view?.loadArtistImage(artist)
artist.albums?.filter { it.id != album.id }?.let {
view?.moreAlbums(ArrayList(it))
if (it.isNotEmpty()) view?.moreAlbums(ArrayList(it))
}
}
override fun loadAlbum(albumId: Int) {
launch {
when (val result = repository.albumById(albumId)) {
@ -77,7 +81,6 @@ interface AlbumDetailsPresenter : Presenter<AlbumDetailsView> {
}
is Error -> withContext(Dispatchers.Main) { view?.complete() }
}
view?.complete()
}
}

View file

@ -21,8 +21,12 @@ 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 kotlinx.coroutines.*
import java.util.*
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import java.util.Locale
import javax.inject.Inject
import kotlin.coroutines.CoroutineContext
@ -69,7 +73,7 @@ interface ArtistDetailsPresenter : Presenter<ArtistDetailsView> {
when (val result = repository.artistById(artistId)) {
is Result.Success -> withContext(Dispatchers.Main) {
view?.artist(result.data)
view?.complete()
}
is Result.Error -> withContext(Dispatchers.Main) {
view?.showEmptyView()