From 7a7e179a2b3b6e7013da5b474c1bd4d09d87f819 Mon Sep 17 00:00:00 2001 From: Fankesyooni Date: Mon, 11 Apr 2022 23:07:37 +0800 Subject: [PATCH] Merge code --- .../miui/notify/utils/factory/FunctionFactory.kt | 13 ++++++++++--- .../fankes/miui/notify/utils/tool/SystemUITool.kt | 4 ++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/fankes/miui/notify/utils/factory/FunctionFactory.kt b/app/src/main/java/com/fankes/miui/notify/utils/factory/FunctionFactory.kt index 57b5696..6c355e8 100644 --- a/app/src/main/java/com/fankes/miui/notify/utils/factory/FunctionFactory.kt +++ b/app/src/main/java/com/fankes/miui/notify/utils/factory/FunctionFactory.kt @@ -412,12 +412,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/miui/notify/utils/tool/SystemUITool.kt b/app/src/main/java/com/fankes/miui/notify/utils/tool/SystemUITool.kt index b48e2ff..52e65e7 100644 --- a/app/src/main/java/com/fankes/miui/notify/utils/tool/SystemUITool.kt +++ b/app/src/main/java/com/fankes/miui/notify/utils/tool/SystemUITool.kt @@ -87,9 +87,9 @@ object SystemUITool { "部分 MIUI 内测和开发版中使用了状态栏主题可能会发生主题失效的情况,这种情况请再重启一次即可。\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 权限获取失败") } }