diff --git a/manager/app/src/main/java/shirkneko/zako/sukisu/ui/screen/MoreSettings.kt b/manager/app/src/main/java/shirkneko/zako/sukisu/ui/screen/MoreSettings.kt index 3e1409c5..741d24cf 100644 --- a/manager/app/src/main/java/shirkneko/zako/sukisu/ui/screen/MoreSettings.kt +++ b/manager/app/src/main/java/shirkneko/zako/sukisu/ui/screen/MoreSettings.kt @@ -210,24 +210,36 @@ fun MoreSettingsScreen(navigator: DestinationsNavigator) { } } - // 添加简洁模块开关 - SwitchItem( - icon = Icons.Filled.FormatPaint, - title = stringResource(R.string.simple_mode), - summary = stringResource(R.string.simple_mode_summary), - checked = isSimpleMode - ) { - onSimpleModeChange(it) - } + var isExpanded by remember { mutableStateOf(false) } - // 隐藏内核部分版本号 - SwitchItem( - icon = Icons.Filled.FormatPaint, - title = stringResource(R.string.hide_kernel_kernelsu_version), - summary = stringResource(R.string.hide_kernel_kernelsu_version_summary), - checked = isHideVersion - ) { - onHideVersionChange(it) + ListItem( + leadingContent = { Icon(Icons.Filled.FormatPaint, null) }, + headlineContent = { Text(stringResource(R.string.more_settings_simplicity_mode)) }, + modifier = Modifier.clickable { + isExpanded = !isExpanded + } + ) + + if (isExpanded) { + // 添加简洁模块开关 + SwitchItem( + icon = Icons.Filled.Brush, + title = stringResource(R.string.simple_mode), + summary = stringResource(R.string.simple_mode_summary), + checked = isSimpleMode + ) { + onSimpleModeChange(it) + } + + // 隐藏内核部分版本号 + SwitchItem( + icon = Icons.Filled.VisibilityOff, + title = stringResource(R.string.hide_kernel_kernelsu_version), + summary = stringResource(R.string.hide_kernel_kernelsu_version_summary), + checked = isHideVersion + ) { + onHideVersionChange(it) + } } // region SUSFS 配置(仅在支持时显示) diff --git a/manager/app/src/main/java/shirkneko/zako/sukisu/ui/webui/WebViewInterface.kt b/manager/app/src/main/java/shirkneko/zako/sukisu/ui/webui/WebViewInterface.kt index fedae073..e4576429 100644 --- a/manager/app/src/main/java/shirkneko/zako/sukisu/ui/webui/WebViewInterface.kt +++ b/manager/app/src/main/java/shirkneko/zako/sukisu/ui/webui/WebViewInterface.kt @@ -19,6 +19,9 @@ import shirkneko.zako.sukisu.ui.util.listModules import shirkneko.zako.sukisu.ui.util.withNewRootShell import org.json.JSONArray import org.json.JSONObject +import shirkneko.zako.sukisu.ui.util.KsuCli +import shirkneko.zako.sukisu.ui.util.controlKpmModule +import shirkneko.zako.sukisu.ui.util.listKpmModules import java.io.File import java.util.concurrent.CompletableFuture @@ -197,6 +200,18 @@ class WebViewInterface( } return currentModuleInfo.toString() } + + // =================== KPM支持 ============================= + + @JavascriptInterface + fun listAllKpm() : String { + return listKpmModules() + } + + @JavascriptInterface + fun controlKpm(name: String, args: String) : Int { + return controlKpmModule(name, args) + } } fun hideSystemUI(window: Window) = 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 8fdc291c..cbfdf3d5 100644 --- a/manager/app/src/main/res/values-zh-rCN/strings.xml +++ b/manager/app/src/main/res/values-zh-rCN/strings.xml @@ -244,7 +244,8 @@ KPM 文件无效 内核未进行补丁 内核未配置 - 以下内核模块功能由 KernelPatch 开发,经过修改后加入 SukiSU Ultra 的内核模块功能 - SukiSU Ultra 展望 - SukiSU Ultra 未来将会成为一个相对独立的 KernelSU 分支,但是依然感谢官方 KernelSU 和 MKSU 等做出的贡献 + 以下内核模块功能由KernelPatch开发,经过修改后加入SukiSU Ultra的内核模块功能 + SukiSU Ultra展望 + SukiSU Ultra未来将会成为一个相对独立的KSU分支,但是依然感谢官方KernelSU和MKSU等做出的贡献 + 简洁模式 diff --git a/manager/app/src/main/res/values/strings.xml b/manager/app/src/main/res/values/strings.xml index 98ba0564..d118cbfd 100644 --- a/manager/app/src/main/res/values/strings.xml +++ b/manager/app/src/main/res/values/strings.xml @@ -250,4 +250,5 @@ Invalid KPM file Kernel not patched Kernel not configured + simplicity mode