From 50edb8d07223af54891316df8c529a590e084eaa Mon Sep 17 00:00:00 2001 From: topjohnwu Date: Fri, 10 Jun 2022 04:25:34 -0700 Subject: [PATCH] Better network detection and invalidation --- app/src/main/java/com/topjohnwu/magisk/core/Info.kt | 4 ++-- .../com/topjohnwu/magisk/core/repository/NetworkService.kt | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/topjohnwu/magisk/core/Info.kt b/app/src/main/java/com/topjohnwu/magisk/core/Info.kt index dc6115a74..80b8e6d63 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/Info.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/Info.kt @@ -10,7 +10,6 @@ import com.topjohnwu.magisk.core.repository.NetworkService import com.topjohnwu.magisk.core.utils.net.NetworkObserver import com.topjohnwu.magisk.ktx.getProperty import com.topjohnwu.superuser.ShellUtils.fastCmd -import com.topjohnwu.superuser.internal.UiThreadHandler val isRunningAsStub get() = Info.stub != null @@ -47,7 +46,8 @@ object Info { val isConnected: LiveData by lazy { MutableLiveData(false).also { field -> NetworkObserver.observe(AppContext) { - UiThreadHandler.run { field.value = it } + remote = EMPTY_REMOTE + field.postValue(it) } } } diff --git a/app/src/main/java/com/topjohnwu/magisk/core/repository/NetworkService.kt b/app/src/main/java/com/topjohnwu/magisk/core/repository/NetworkService.kt index 6e897e1ae..ece989a95 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/repository/NetworkService.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/repository/NetworkService.kt @@ -46,7 +46,10 @@ class NetworkService( private inline fun safe(factory: () -> T): T? { return try { - factory() + if (Info.isConnected.value == true) + factory() + else + null } catch (e: Exception) { Timber.e(e) null