From 271f2d37bb1980eaf64a4d9830a44854095dce6b Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Sun, 3 Nov 2024 22:30:47 -0500 Subject: [PATCH] Fix crashes from Exh Updater --- app/src/main/java/exh/eh/EHentaiUpdateHelper.kt | 6 +++--- app/src/main/java/exh/eh/EHentaiUpdateWorker.kt | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/exh/eh/EHentaiUpdateHelper.kt b/app/src/main/java/exh/eh/EHentaiUpdateHelper.kt index d06566bc7..efc3adad1 100644 --- a/app/src/main/java/exh/eh/EHentaiUpdateHelper.kt +++ b/app/src/main/java/exh/eh/EHentaiUpdateHelper.kt @@ -54,7 +54,7 @@ class EHentaiUpdateHelper(context: Context) { suspend fun findAcceptedRootAndDiscardOthers( sourceId: Long, chapters: List, - ): Triple, Boolean> { + ): Triple, List> { // Find other chains val chains = chapters .flatMap { chapter -> @@ -149,7 +149,7 @@ class EHentaiUpdateHelper(context: Context) { setMangaCategories.await(it.manga.id, newCategories) } - Triple(newAccepted, toDiscard, new) + Triple(newAccepted, toDiscard, newChapters) } else { /*val notNeeded = chains.filter { it.manga.id != accepted.manga.id } val (newChapters, new) = getChapterList(accepted, notNeeded, chainsAsChapters) @@ -158,7 +158,7 @@ class EHentaiUpdateHelper(context: Context) { // Insert new chapters for accepted manga db.insertChapters(newAccepted.chapters).await()*/ - Triple(accepted, emptyList(), false) + Triple(accepted, emptyList(), emptyList()) } } diff --git a/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt b/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt index c8dfb4461..7422b29c7 100644 --- a/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt +++ b/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt @@ -169,13 +169,13 @@ class EHentaiUpdateWorker(private val context: Context, workerParams: WorkerPara } // Find accepted root and discard others - val (acceptedRoot, discardedRoots, hasNew) = + val (acceptedRoot, discardedRoots, exhNew) = updateHelper.findAcceptedRootAndDiscardOthers(manga.source, chapters) - if ((new.isNotEmpty() && manga.id == acceptedRoot.manga.id) || - (hasNew && updatedManga.none { it.first.id == acceptedRoot.manga.id }) - ) { + if (new.isNotEmpty() && manga.id == acceptedRoot.manga.id) { updatedManga += acceptedRoot.manga to new.toTypedArray() + } else if (exhNew.isNotEmpty() && updatedManga.none { it.first.id == acceptedRoot.manga.id }) { + updatedManga += acceptedRoot.manga to exhNew.toTypedArray() } modifiedThisIteration += acceptedRoot.manga.id