Fix auto app updater job not working

This commit is contained in:
Jays2Kings 2022-05-16 02:28:49 -04:00
parent b0c2ef0824
commit 7c6b1451cb

View file

@ -10,6 +10,7 @@ import androidx.work.OneTimeWorkRequestBuilder
import androidx.work.WorkManager import androidx.work.WorkManager
import androidx.work.WorkerParameters import androidx.work.WorkerParameters
import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.util.system.isConnectedToWifi
import kotlinx.coroutines.coroutineScope import kotlinx.coroutines.coroutineScope
import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get import uy.kohesive.injekt.api.get
@ -25,7 +26,11 @@ class AutoAppUpdaterJob(private val context: Context, workerParams: WorkerParame
) { ) {
return@coroutineScope Result.failure() return@coroutineScope Result.failure()
} }
val result = AppUpdateChecker().checkForUpdate(context, doExtrasAfterNewUpdate = false) val preferences = Injekt.get<PreferencesHelper>()
if (preferences.appShouldAutoUpdate() == ONLY_ON_UNMETERED && !context.isConnectedToWifi()) {
return@coroutineScope Result.failure()
}
val result = AppUpdateChecker().checkForUpdate(context, true, doExtrasAfterNewUpdate = false)
if (result is AppUpdateResult.NewUpdate && !AppUpdateService.isRunning()) { if (result is AppUpdateResult.NewUpdate && !AppUpdateService.isRunning()) {
AppUpdateNotifier(context).cancel() AppUpdateNotifier(context).cancel()
AppUpdateNotifier.releasePageUrl = result.release.releaseLink AppUpdateNotifier.releasePageUrl = result.release.releaseLink
@ -44,16 +49,8 @@ class AutoAppUpdaterJob(private val context: Context, workerParams: WorkerParame
const val NEVER = 2 const val NEVER = 2
fun setupTask(context: Context) { fun setupTask(context: Context) {
val preferences = Injekt.get<PreferencesHelper>()
val restrictions = preferences.appShouldAutoUpdate()
val wifiRestriction = if (restrictions == ONLY_ON_UNMETERED) {
NetworkType.UNMETERED
} else {
NetworkType.CONNECTED
}
val constraints = Constraints.Builder() val constraints = Constraints.Builder()
.setRequiredNetworkType(wifiRestriction) .setRequiredNetworkType(NetworkType.CONNECTED)
.setRequiresDeviceIdle(true) .setRequiresDeviceIdle(true)
.build() .build()