diff --git a/app/src/main/java/com/fankes/coloros/notify/utils/factory/FunctionFactory.kt b/app/src/main/java/com/fankes/coloros/notify/utils/factory/FunctionFactory.kt index 473775a..a0a6895 100644 --- a/app/src/main/java/com/fankes/coloros/notify/utils/factory/FunctionFactory.kt +++ b/app/src/main/java/com/fankes/coloros/notify/utils/factory/FunctionFactory.kt @@ -329,12 +329,19 @@ fun findPropString(key: String, default: String = "") = safeOf(default) { } /** - * 执行命令 - su + * 是否有 Root 权限 + * @return [Boolean] + */ +val isRootAccess get() = safeOfFalse { Shell.rootAccess() } + +/** + * 执行命令 * @param cmd 命令 + * @param isSu 是否使用 Root 权限执行 - 默认:是 * @return [String] 执行结果 */ -fun execShellSu(cmd: String) = safeOfNothing { - Shell.su(cmd).exec().out.let { +fun execShell(cmd: String, isSu: Boolean = true) = safeOfNothing { + (if (isSu) Shell.su(cmd) else Shell.sh(cmd)).exec().out.let { if (it.isNotEmpty()) it[0].trim() else "" } } diff --git a/app/src/main/java/com/fankes/coloros/notify/utils/tool/SystemUITool.kt b/app/src/main/java/com/fankes/coloros/notify/utils/tool/SystemUITool.kt index dce789e..89c63d1 100644 --- a/app/src/main/java/com/fankes/coloros/notify/utils/tool/SystemUITool.kt +++ b/app/src/main/java/com/fankes/coloros/notify/utils/tool/SystemUITool.kt @@ -86,9 +86,9 @@ object SystemUITool { msg = "你确定要立即重启系统界面吗?\n\n" + "重启过程会黑屏并等待进入锁屏重新解锁。" confirmButton { - execShellSu(cmd = "pgrep systemui").also { pid -> + execShell(cmd = "pgrep systemui").also { pid -> if (pid.isNotBlank()) - execShellSu(cmd = "kill -9 $pid") + execShell(cmd = "kill -9 $pid") else toast(msg = "ROOT 权限获取失败") } }