fix(manga): Group currentManga setup together

This commit is contained in:
Ahmad Ansori Palembani 2024-12-17 08:09:09 +07:00
parent 60fe907cc0
commit 4a0f578211
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6

View file

@ -200,6 +200,14 @@ class MangaDetailsPresenter(
val controller = view ?: return
isLockedFromSearch = controller.shouldLockIfNeeded && SecureActivityDelegate.shouldBeLocked()
presenterScope.launchUI {
currentManga.collectLatest {
if (it == null) return@collectLatest
controller.updateHeader()
}
}
if (currentManga.value == null) runBlocking { refreshMangaFromDb() }
syncData()
@ -218,13 +226,6 @@ class MangaDetailsPresenter(
presenterScope.launchIO {
downloadManager.queueState.collectLatest(::onQueueUpdate)
}
presenterScope.launchUI {
currentManga.collectLatest {
if (it == null) return@collectLatest
controller.updateHeader()
}
}
presenterScope.launchIO {
currentChapters.collectLatest { chapters ->
allChapters = if (!isScanlatorFiltered()) chapters else getChapter.awaitAll(mangaId, false).map { it.toModel() }
@ -258,7 +259,7 @@ class MangaDetailsPresenter(
.onEach { onUpdateManga() }
.launchIn(presenterScope)
val updateMangaNeeded = !manga.initialized
val updateMangaNeeded = currentManga.value?.initialized != true
val updateChaptersNeeded = runBlocking { setAndGetChapters() }.isEmpty()
presenterScope.launch {
@ -496,7 +497,7 @@ class MangaDetailsPresenter(
.build()
if (preferences.context.imageLoader.execute(request) is SuccessResult) {
withContext(Dispatchers.Main) {
withUIContext {
view?.setPaletteColor()
}
}