From 9f6e9f5db6d41a13319b9c618177461851f2afbe Mon Sep 17 00:00:00 2001 From: tiann Date: Wed, 1 Mar 2023 12:12:31 +0800 Subject: [PATCH] manager: Show module conflict state with Magisk --- .../src/main/java/me/weishu/kernelsu/ui/screen/Module.kt | 6 ++++++ .../app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt | 6 ++++++ manager/app/src/main/res/values-zh-rCN/strings.xml | 1 + manager/app/src/main/res/values/strings.xml | 1 + 4 files changed, 14 insertions(+) diff --git a/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Module.kt b/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Module.kt index 1cd87428..bfe04932 100644 --- a/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Module.kt +++ b/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Module.kt @@ -103,6 +103,12 @@ fun ModuleScreen(navigator: DestinationsNavigator) { } return@Scaffold } + if (hasMagisk()) { + Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) { + Text(stringResource(R.string.module_magisk_conflict)) + } + return@Scaffold + } SwipeRefresh( state = swipeState, onRefresh = { scope.launch { viewModel.fetchModuleList() } diff --git a/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt b/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt index f0dc048d..66fec64d 100644 --- a/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt +++ b/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt @@ -108,4 +108,10 @@ fun overlayFsAvailable(): Boolean { val shell = createRootShell() // check /proc/filesystems return ShellUtils.fastCmdResult(shell, "cat /proc/filesystems | grep overlay") +} + +fun hasMagisk(): Boolean { + val shell = createRootShell() + val result = shell.newJob().add("nsenter --mount=/proc/1/ns/mnt which magisk").exec() + return result.isSuccess } \ No newline at end of file diff --git a/manager/app/src/main/res/values-zh-rCN/strings.xml b/manager/app/src/main/res/values-zh-rCN/strings.xml index 148fd3df..e4e63384 100644 --- a/manager/app/src/main/res/values-zh-rCN/strings.xml +++ b/manager/app/src/main/res/values-zh-rCN/strings.xml @@ -51,4 +51,5 @@ 发送日志 安全模式 重启生效 + 所有模块已被禁用,因为它与 Magisk 的模块系统有冲突! diff --git a/manager/app/src/main/res/values/strings.xml b/manager/app/src/main/res/values/strings.xml index 76d632b4..e14c5d05 100644 --- a/manager/app/src/main/res/values/strings.xml +++ b/manager/app/src/main/res/values/strings.xml @@ -55,5 +55,6 @@ Send Log Safe mode Reboot to take effect + Modules are disabled because it is conflict with Magisk\'s!