From 46636b537c77efad2fe805f66e8d43addf2da676 Mon Sep 17 00:00:00 2001 From: NerdNumber9 Date: Sun, 4 Aug 2019 22:55:38 -0400 Subject: [PATCH] Add update frequency restriction debug toggle --- app/src/main/java/exh/debug/DebugToggles.kt | 3 ++- .../main/java/exh/eh/EHentaiUpdateWorker.kt | 19 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/exh/debug/DebugToggles.kt b/app/src/main/java/exh/debug/DebugToggles.kt index 1cb164eb7..1728a85a3 100644 --- a/app/src/main/java/exh/debug/DebugToggles.kt +++ b/app/src/main/java/exh/debug/DebugToggles.kt @@ -6,7 +6,8 @@ import uy.kohesive.injekt.injectLazy enum class DebugToggles(val default: Boolean) { ENABLE_EXH_ROOT_REDIRECT(true), ENABLE_DEBUG_OVERLAY(true), - PULL_TO_ROOT_WHEN_LOADING_EXH_MANGA_DETAILS(true); + PULL_TO_ROOT_WHEN_LOADING_EXH_MANGA_DETAILS(true), + RESTRICT_EXH_GALLERY_UPDATE_CHECK_FREQUENCY(true); val prefKey = "eh_debug_toggle_${name.toLowerCase()}" diff --git a/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt b/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt index 4db8391dc..4148a48ef 100644 --- a/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt +++ b/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt @@ -23,6 +23,7 @@ import eu.kanade.tachiyomi.util.jobScheduler import eu.kanade.tachiyomi.util.syncChaptersWithSource import exh.EH_SOURCE_ID import exh.EXH_SOURCE_ID +import exh.debug.DebugToggles import exh.eh.EHentaiUpdateWorkerConstants.UPDATES_PER_ITERATION import exh.metadata.metadata.EHentaiSearchMetadata import exh.metadata.metadata.base.* @@ -136,7 +137,7 @@ class EHentaiUpdateWorker: JobService(), CoroutineScope { val raisedMeta = meta.raise() // Don't update galleries too frequently - if (raisedMeta.aged || curTime - raisedMeta.lastUpdateCheck < MIN_BACKGROUND_UPDATE_FREQ) + if (raisedMeta.aged || (curTime - raisedMeta.lastUpdateCheck < MIN_BACKGROUND_UPDATE_FREQ && DebugToggles.RESTRICT_EXH_GALLERY_UPDATE_CHECK_FREQUENCY.enabled)) return@mapNotNull null val chapter = db.getChaptersByMangaId(manga.id!!).asRxSingle().await().minBy { @@ -269,12 +270,6 @@ class EHentaiUpdateWorker: JobService(), CoroutineScope { return JobInfo.Builder( if(isTest) JOB_ID_UPDATE_BACKGROUND_TEST else JOB_ID_UPDATE_BACKGROUND, componentName()) - .apply { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { - setEstimatedNetworkBytes(15000L * UPDATES_PER_ITERATION, - 1000L * UPDATES_PER_ITERATION) - } - } } private fun Context.periodicBackgroundJobInfo(period: Long, @@ -283,15 +278,19 @@ class EHentaiUpdateWorker: JobService(), CoroutineScope { return baseBackgroundJobInfo(false) .setPeriodic(period) .setPersisted(true) + .setRequiredNetworkType( + if(requireUnmetered) JobInfo.NETWORK_TYPE_UNMETERED + else JobInfo.NETWORK_TYPE_ANY) .apply { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { setRequiresBatteryNotLow(true) } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + setEstimatedNetworkBytes(15000L * UPDATES_PER_ITERATION, + 1000L * UPDATES_PER_ITERATION) + } } .setRequiresCharging(requireCharging) - .setRequiredNetworkType( - if(requireUnmetered) JobInfo.NETWORK_TYPE_UNMETERED - else JobInfo.NETWORK_TYPE_ANY) // .setRequiresDeviceIdle(true) Job never seems to run with this .build() }