From e799918ab6aaebf4c0e84166681c4865188debf8 Mon Sep 17 00:00:00 2001 From: topjohnwu Date: Sat, 8 Jun 2019 15:28:59 -0700 Subject: [PATCH] Update update check service --- .../magisk/model/update/UpdateCheckService.kt | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/topjohnwu/magisk/model/update/UpdateCheckService.kt b/app/src/main/java/com/topjohnwu/magisk/model/update/UpdateCheckService.kt index 56d6d3a51..9c191ca43 100644 --- a/app/src/main/java/com/topjohnwu/magisk/model/update/UpdateCheckService.kt +++ b/app/src/main/java/com/topjohnwu/magisk/model/update/UpdateCheckService.kt @@ -4,7 +4,6 @@ import androidx.work.ListenableWorker import com.topjohnwu.magisk.BuildConfig import com.topjohnwu.magisk.Config import com.topjohnwu.magisk.data.repository.MagiskRepository -import com.topjohnwu.magisk.model.entity.MagiskConfig import com.topjohnwu.magisk.model.worker.DelegateWorker import com.topjohnwu.magisk.utils.inject import com.topjohnwu.magisk.view.Notifications @@ -14,18 +13,15 @@ class UpdateCheckService : DelegateWorker() { private val magiskRepo: MagiskRepository by inject() override fun doWork(): ListenableWorker.Result { - val config = runCatching { magiskRepo.fetchConfig().blockingGet() } - config.getOrNull()?.let { checkUpdates(it) } - return when { - config.isFailure -> ListenableWorker.Result.failure() - else -> ListenableWorker.Result.success() - } - } - - private fun checkUpdates(config: MagiskConfig) { - when { - BuildConfig.VERSION_CODE < config.app.versionCode.toIntOrNull() ?: -1 -> Notifications.managerUpdate() - Config.magiskVersionCode < config.magisk.versionCode.toIntOrNull() ?: -1 -> Notifications.magiskUpdate() + return runCatching { + magiskRepo.fetchConfig().blockingGet() + if (BuildConfig.VERSION_CODE < Config.remoteManagerVersionCode) + Notifications.managerUpdate() + else if (Config.magiskVersionCode < Config.remoteManagerVersionCode) + Notifications.magiskUpdate() + ListenableWorker.Result.success() + }.getOrElse { + ListenableWorker.Result.failure() } } }