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