diff --git a/manager/app/src/main/java/shirkneko/zako/sukisu/ui/screen/Home.kt b/manager/app/src/main/java/shirkneko/zako/sukisu/ui/screen/Home.kt
index 0e407dd8..5f59e02a 100644
--- a/manager/app/src/main/java/shirkneko/zako/sukisu/ui/screen/Home.kt
+++ b/manager/app/src/main/java/shirkneko/zako/sukisu/ui/screen/Home.kt
@@ -64,6 +64,7 @@ fun HomeScreen(navigator: DestinationsNavigator) {
val context = LocalContext.current
var isSimpleMode by rememberSaveable { mutableStateOf(false) }
var isHideVersion by rememberSaveable { mutableStateOf(false) }
+ var isHideOtherInfo by rememberSaveable { mutableStateOf(false) }
// 从 SharedPreferences 加载简洁模式状态
LaunchedEffect(Unit) {
@@ -75,6 +76,11 @@ fun HomeScreen(navigator: DestinationsNavigator) {
isHideVersion = context.getSharedPreferences("settings", Context.MODE_PRIVATE)
.getBoolean("is_hide_version", false)
}
+ // 从 SharedPreferences 加载隐藏模块数量等信息开关状态
+ LaunchedEffect(Unit) {
+ isHideOtherInfo = context.getSharedPreferences("settings", Context.MODE_PRIVATE)
+ .getBoolean("is_hide_other_info", false)
+ }
val kernelVersion = getKernelVersion()
val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior(rememberTopAppBarState())
@@ -313,6 +319,9 @@ private fun StatusCard(
val isHideVersion = LocalContext.current.getSharedPreferences("settings", Context.MODE_PRIVATE)
.getBoolean("is_hide_version", false)
+ val isHideOtherInfo = LocalContext.current.getSharedPreferences("settings", Context.MODE_PRIVATE)
+ .getBoolean("is_hide_other_info", false)
+
Icon(Icons.Outlined.CheckCircle, stringResource(R.string.home_working))
Column(Modifier.padding(start = 20.dp)) {
Text(
@@ -326,25 +335,28 @@ private fun StatusCard(
style = MaterialTheme.typography.bodyMedium
)
}
- Spacer(Modifier.height(4.dp))
- Text(
- text = stringResource(
- R.string.home_superuser_count, getSuperuserCount()
- ), style = MaterialTheme.typography.bodyMedium
- )
- Spacer(Modifier.height(4.dp))
- Text(
- text = stringResource(R.string.home_module_count, getModuleCount()),
- style = MaterialTheme.typography.bodyMedium
- )
- val kpmVersion = getKpmVersion()
- if (kpmVersion.isNotEmpty() && !kpmVersion.startsWith("Error")) {
+ if (!isHideOtherInfo) {
Spacer(Modifier.height(4.dp))
Text(
- text = stringResource(R.string.home_kpm_module, getKpmModuleCount()),
+ text = stringResource(
+ R.string.home_superuser_count, getSuperuserCount()
+ ), style = MaterialTheme.typography.bodyMedium
+ )
+ Spacer(Modifier.height(4.dp))
+ Text(
+ text = stringResource(R.string.home_module_count, getModuleCount()),
style = MaterialTheme.typography.bodyMedium
)
+ val kpmVersion = getKpmVersion()
+ if (kpmVersion.isNotEmpty() && !kpmVersion.startsWith("Error")) {
+ Spacer(Modifier.height(4.dp))
+ Text(
+ text = stringResource(R.string.home_kpm_module, getKpmModuleCount()),
+ style = MaterialTheme.typography.bodyMedium
+ )
+ }
}
+
Spacer(modifier = Modifier.height(4.dp))
val suSFS = getSuSFS()
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 7b36e75b..9f779961 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
@@ -117,6 +117,17 @@ fun MoreSettingsScreen(navigator: DestinationsNavigator) {
isHideVersion = newValue
}
+ // 隐藏模块数量等信息开关状态
+ var isHideOtherInfo by remember {
+ mutableStateOf(prefs.getBoolean("is_hide_other_info", false))
+ }
+
+ // 隐藏模块数量等信息开关状态
+ val onHideOtherInfoChange = { newValue: Boolean ->
+ prefs.edit { putBoolean("is_hide_other_info", newValue) }
+ isHideOtherInfo = newValue
+ }
+
// SELinux 状态
var selinuxEnabled by remember {
mutableStateOf(Shell.cmd("getenforce").exec().out.firstOrNull() == "Enforcing")
@@ -249,6 +260,20 @@ fun MoreSettingsScreen(navigator: DestinationsNavigator) {
onHideVersionChange(it)
}
}
+ AnimatedVisibility(
+ visible = isExpanded,
+ modifier = Modifier.fillMaxWidth().padding(horizontal = 24.dp)
+ ) {
+ // 模块数量等信息
+ SwitchItem(
+ icon = Icons.Filled.VisibilityOff,
+ title = stringResource(R.string.hide_other_info),
+ summary = stringResource(R.string.hide_other_info_summary),
+ checked = isHideOtherInfo
+ ) {
+ onHideOtherInfoChange(it)
+ }
+ }
// region SUSFS 配置(仅在支持时显示)
val suSFS = getSuSFS()
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 23abeb19..1f4500b5 100644
--- a/manager/app/src/main/res/values-zh-rCN/strings.xml
+++ b/manager/app/src/main/res/values-zh-rCN/strings.xml
@@ -191,6 +191,8 @@
开启后将隐藏不必要的卡片
隐藏内核版本号
隐藏内核部分的 KernelSU 版本号
+ 强迫症开关
+ 隐藏主页上的超级用户数、模块数和 KPM 模块数信息
主题模式
跟随系统
浅色
diff --git a/manager/app/src/main/res/values/strings.xml b/manager/app/src/main/res/values/strings.xml
index d118cbfd..028309ee 100644
--- a/manager/app/src/main/res/values/strings.xml
+++ b/manager/app/src/main/res/values/strings.xml
@@ -192,6 +192,8 @@
Hides unnecessary cards when turned on
Hide kernel version
Hide kernel version
+ Hide other info
+ Hides information about the number of super users, modules and KPM modules on the home page
Theme Mode
follow-up system
light color