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