Add update frequency restriction debug toggle
This commit is contained in:
parent
cd5545284e
commit
46636b537c
@ -6,7 +6,8 @@ import uy.kohesive.injekt.injectLazy
|
|||||||
enum class DebugToggles(val default: Boolean) {
|
enum class DebugToggles(val default: Boolean) {
|
||||||
ENABLE_EXH_ROOT_REDIRECT(true),
|
ENABLE_EXH_ROOT_REDIRECT(true),
|
||||||
ENABLE_DEBUG_OVERLAY(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()}"
|
val prefKey = "eh_debug_toggle_${name.toLowerCase()}"
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@ import eu.kanade.tachiyomi.util.jobScheduler
|
|||||||
import eu.kanade.tachiyomi.util.syncChaptersWithSource
|
import eu.kanade.tachiyomi.util.syncChaptersWithSource
|
||||||
import exh.EH_SOURCE_ID
|
import exh.EH_SOURCE_ID
|
||||||
import exh.EXH_SOURCE_ID
|
import exh.EXH_SOURCE_ID
|
||||||
|
import exh.debug.DebugToggles
|
||||||
import exh.eh.EHentaiUpdateWorkerConstants.UPDATES_PER_ITERATION
|
import exh.eh.EHentaiUpdateWorkerConstants.UPDATES_PER_ITERATION
|
||||||
import exh.metadata.metadata.EHentaiSearchMetadata
|
import exh.metadata.metadata.EHentaiSearchMetadata
|
||||||
import exh.metadata.metadata.base.*
|
import exh.metadata.metadata.base.*
|
||||||
@ -136,7 +137,7 @@ class EHentaiUpdateWorker: JobService(), CoroutineScope {
|
|||||||
val raisedMeta = meta.raise<EHentaiSearchMetadata>()
|
val raisedMeta = meta.raise<EHentaiSearchMetadata>()
|
||||||
|
|
||||||
// Don't update galleries too frequently
|
// 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
|
return@mapNotNull null
|
||||||
|
|
||||||
val chapter = db.getChaptersByMangaId(manga.id!!).asRxSingle().await().minBy {
|
val chapter = db.getChaptersByMangaId(manga.id!!).asRxSingle().await().minBy {
|
||||||
@ -269,12 +270,6 @@ class EHentaiUpdateWorker: JobService(), CoroutineScope {
|
|||||||
return JobInfo.Builder(
|
return JobInfo.Builder(
|
||||||
if(isTest) JOB_ID_UPDATE_BACKGROUND_TEST
|
if(isTest) JOB_ID_UPDATE_BACKGROUND_TEST
|
||||||
else JOB_ID_UPDATE_BACKGROUND, componentName())
|
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,
|
private fun Context.periodicBackgroundJobInfo(period: Long,
|
||||||
@ -283,15 +278,19 @@ class EHentaiUpdateWorker: JobService(), CoroutineScope {
|
|||||||
return baseBackgroundJobInfo(false)
|
return baseBackgroundJobInfo(false)
|
||||||
.setPeriodic(period)
|
.setPeriodic(period)
|
||||||
.setPersisted(true)
|
.setPersisted(true)
|
||||||
|
.setRequiredNetworkType(
|
||||||
|
if(requireUnmetered) JobInfo.NETWORK_TYPE_UNMETERED
|
||||||
|
else JobInfo.NETWORK_TYPE_ANY)
|
||||||
.apply {
|
.apply {
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
setRequiresBatteryNotLow(true)
|
setRequiresBatteryNotLow(true)
|
||||||
}
|
}
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||||
|
setEstimatedNetworkBytes(15000L * UPDATES_PER_ITERATION,
|
||||||
|
1000L * UPDATES_PER_ITERATION)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.setRequiresCharging(requireCharging)
|
.setRequiresCharging(requireCharging)
|
||||||
.setRequiredNetworkType(
|
|
||||||
if(requireUnmetered) JobInfo.NETWORK_TYPE_UNMETERED
|
|
||||||
else JobInfo.NETWORK_TYPE_ANY)
|
|
||||||
// .setRequiresDeviceIdle(true) Job never seems to run with this
|
// .setRequiresDeviceIdle(true) Job never seems to run with this
|
||||||
.build()
|
.build()
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user