From 14879c4466ec10b895c5f55022de74ec2774b114 Mon Sep 17 00:00:00 2001 From: NerdNumber9 Date: Thu, 8 Aug 2019 14:45:40 -0400 Subject: [PATCH] Isolate EH and EXH manga redirects --- .../kanade/tachiyomi/ui/manga/chapter/ChaptersPresenter.kt | 2 +- app/src/main/java/exh/eh/EHentaiUpdateHelper.kt | 6 ++++-- app/src/main/java/exh/eh/EHentaiUpdateWorker.kt | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersPresenter.kt index fe5ad9cf3..422eac5e8 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersPresenter.kt @@ -120,7 +120,7 @@ class ChaptersPresenter( && DebugToggles.ENABLE_EXH_ROOT_REDIRECT.enabled) { // Check for gallery in library and accept manga with lowest id // Find chapters sharing same root - add(updateHelper.findAcceptedRootAndDiscardOthers(chapters) + add(updateHelper.findAcceptedRootAndDiscardOthers(manga.source, chapters) .subscribeOn(Schedulers.io()) .subscribe { (acceptedChain, _) -> // Redirect if we are not the accepted root diff --git a/app/src/main/java/exh/eh/EHentaiUpdateHelper.kt b/app/src/main/java/exh/eh/EHentaiUpdateHelper.kt index 3945aaced..1eb023841 100644 --- a/app/src/main/java/exh/eh/EHentaiUpdateHelper.kt +++ b/app/src/main/java/exh/eh/EHentaiUpdateHelper.kt @@ -28,7 +28,7 @@ class EHentaiUpdateHelper(context: Context) { * * @return Pair */ - fun findAcceptedRootAndDiscardOthers(chapters: List): Single>> { + fun findAcceptedRootAndDiscardOthers(sourceId: Long, chapters: List): Single>> { // Find other chains val chainsObservable = Observable.merge(chapters.map { chapter -> db.getChapters(chapter.url).asRxSingle().toObservable() @@ -42,7 +42,9 @@ class EHentaiUpdateHelper(context: Context) { db.getChaptersByMangaId(mangaId).asRxSingle() ) { manga, chapters -> ChapterChain(manga, chapters) - }.toObservable() + }.toObservable().filter { + it.manga.source == sourceId + } } ) }.toList() diff --git a/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt b/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt index 4148a48ef..f985a72b5 100644 --- a/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt +++ b/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt @@ -206,7 +206,7 @@ class EHentaiUpdateWorker: JobService(), CoroutineScope { // Find accepted root and discard others val (acceptedRoot, discardedRoots) = - updateHelper.findAcceptedRootAndDiscardOthers(chapters).await() + updateHelper.findAcceptedRootAndDiscardOthers(manga.source, chapters).await() modifiedThisIteration += acceptedRoot.manga.id!! modifiedThisIteration += discardedRoots.map { it.manga.id!! }