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() } } }