mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-03 23:58:55 +01:00 
			
		
		
		
	Add update frequency restriction debug toggle
This commit is contained in:
		@@ -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()}"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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<EHentaiSearchMetadata>()
 | 
			
		||||
 | 
			
		||||
            // 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()
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user