diff --git a/app/src/main/java/org/akuatech/ksupatcher/root/RootShell.kt b/app/src/main/java/org/akuatech/ksupatcher/root/RootShell.kt index 39706d5..b0e4872 100644 --- a/app/src/main/java/org/akuatech/ksupatcher/root/RootShell.kt +++ b/app/src/main/java/org/akuatech/ksupatcher/root/RootShell.kt @@ -84,9 +84,9 @@ object RootShell { } } - fun isRooted(): Boolean { + suspend fun isRooted(): Boolean = withContext(Dispatchers.IO) { val (success, out, _) = runRootBlock("id") - return success && out.contains("uid=0(root)") + success && out.contains("uid=0(root)") } suspend fun run(vararg cmds: String): String = withContext(Dispatchers.IO) { diff --git a/app/src/main/java/org/akuatech/ksupatcher/viewmodel/MainViewModel.kt b/app/src/main/java/org/akuatech/ksupatcher/viewmodel/MainViewModel.kt index eb70cd6..e0b471f 100644 --- a/app/src/main/java/org/akuatech/ksupatcher/viewmodel/MainViewModel.kt +++ b/app/src/main/java/org/akuatech/ksupatcher/viewmodel/MainViewModel.kt @@ -135,7 +135,7 @@ class MainViewModel( fun refreshRootStatus() { _state.update { it.copy(isCheckingRoot = true) } - viewModelScope.launch(Dispatchers.IO) { + viewModelScope.launch { val isRooted = RootShell.isRooted() val status = if (isRooted) RootStatus.GRANTED else RootStatus.NOT_GRANTED settingsRepository.setRootStatus(status.name)