fix(manga): Loading state

This commit is contained in:
Ahmad Ansori Palembani 2024-12-17 07:56:36 +07:00
parent f81be429df
commit 60fe907cc0
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6

View file

@ -174,7 +174,7 @@ class MangaDetailsPresenter(
var allHistory: List<History> = emptyList() var allHistory: List<History> = emptyList()
private set private set
val headerItem: MangaHeaderItem by lazy { MangaHeaderItem(mangaId, view?.fromCatalogue == true)} val headerItem: MangaHeaderItem get() = MangaHeaderItem(mangaId, view?.fromCatalogue == true)
var tabletChapterHeaderItem: MangaHeaderItem? = null var tabletChapterHeaderItem: MangaHeaderItem? = null
get() { get() {
when (view?.isTablet) { when (view?.isTablet) {
@ -262,11 +262,13 @@ class MangaDetailsPresenter(
val updateChaptersNeeded = runBlocking { setAndGetChapters() }.isEmpty() val updateChaptersNeeded = runBlocking { setAndGetChapters() }.isEmpty()
presenterScope.launch { presenterScope.launch {
isLoading = true
val tasks = listOf( val tasks = listOf(
async { if (updateMangaNeeded) fetchMangaFromSource() }, async { if (updateMangaNeeded) fetchMangaFromSource() },
async { if (updateChaptersNeeded) fetchChaptersFromSource(false) }, async { if (updateChaptersNeeded) fetchChaptersFromSource(false) },
) )
tasks.awaitAll() tasks.awaitAll()
isLoading = false
setTrackItems() setTrackItems()
} }