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!! }