From c545578840c6bd16bfa0d79dd803439de570b288 Mon Sep 17 00:00:00 2001 From: Jays2Kings Date: Sun, 3 Apr 2022 17:04:40 -0400 Subject: [PATCH] Support 1.3 UnmeteredSource --- .../eu/kanade/tachiyomi/data/download/Downloader.kt | 6 +++++- .../tachiyomi/data/library/LibraryUpdateService.kt | 10 +++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt index ad86b3f8de..6174824c2a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt @@ -19,6 +19,7 @@ import eu.kanade.tachiyomi.data.download.model.DownloadQueue import eu.kanade.tachiyomi.data.library.LibraryUpdateService import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.source.SourceManager +import eu.kanade.tachiyomi.source.UnmeteredSource import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.source.online.fetchAllImageUrlsFromPageList @@ -289,7 +290,10 @@ class Downloader( // Start downloader if needed if (autoStart && wasEmpty) { - val largestSourceSize = queue.groupBy { it.source }.maxOfOrNull { it.value.size } ?: 0 + val largestSourceSize = queue + .groupBy { it.source } + .filterKeys { it !is UnmeteredSource } + .maxOfOrNull { it.value.size } ?: 0 if (largestSourceSize > CHAPTERS_PER_SOURCE_QUEUE_WARNING_THRESHOLD) { notifier.onWarning(context.getString(R.string.download_queue_size_warning)) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt index 173e1b6f32..eefee89545 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt @@ -29,6 +29,7 @@ import eu.kanade.tachiyomi.data.track.TrackManager import eu.kanade.tachiyomi.data.track.UnattendedTrackService import eu.kanade.tachiyomi.extension.ExtensionUpdateJob import eu.kanade.tachiyomi.source.SourceManager +import eu.kanade.tachiyomi.source.UnmeteredSource import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.toSChapter import eu.kanade.tachiyomi.source.model.toSManga @@ -307,8 +308,11 @@ class LibraryUpdateService( } private fun checkIfMassiveUpdate() { - val largestSourceSize = mangaToUpdate.groupBy { it.source }.maxOfOrNull { it.value.size } ?: 0 - if (largestSourceSize > PER_SOURCE_QUEUE_WARNING_THRESHOLD) { + val largestSourceSize = mangaToUpdate + .groupBy { it.source } + .filterKeys { sourceManager.get(it) !is UnmeteredSource } + .maxOfOrNull { it.value.size } ?: 0 + if (largestSourceSize > MANGA_PER_SOURCE_QUEUE_WARNING_THRESHOLD) { notifier.showQueueSizeWarningNotification() } } @@ -669,4 +673,4 @@ interface LibraryServiceListener { fun onUpdateManga(manga: Manga? = null) } -const val PER_SOURCE_QUEUE_WARNING_THRESHOLD = 60 +const val MANGA_PER_SOURCE_QUEUE_WARNING_THRESHOLD = 60