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 5f59e02a..b274f28a 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
@@ -65,6 +65,7 @@ fun HomeScreen(navigator: DestinationsNavigator) {
var isSimpleMode by rememberSaveable { mutableStateOf(false) }
var isHideVersion by rememberSaveable { mutableStateOf(false) }
var isHideOtherInfo by rememberSaveable { mutableStateOf(false) }
+ var isHideSusfsStatus by rememberSaveable { mutableStateOf(false) }
// 从 SharedPreferences 加载简洁模式状态
LaunchedEffect(Unit) {
@@ -81,6 +82,11 @@ fun HomeScreen(navigator: DestinationsNavigator) {
isHideOtherInfo = context.getSharedPreferences("settings", Context.MODE_PRIVATE)
.getBoolean("is_hide_other_info", false)
}
+ // 从 SharedPreferences 加载隐藏 SuSFS 状态开关状态
+ LaunchedEffect(Unit) {
+ isHideSusfsStatus = context.getSharedPreferences("settings", Context.MODE_PRIVATE)
+ .getBoolean("is_hide_susfs_status", false)
+ }
val kernelVersion = getKernelVersion()
val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior(rememberTopAppBarState())
@@ -322,6 +328,9 @@ private fun StatusCard(
val isHideOtherInfo = LocalContext.current.getSharedPreferences("settings", Context.MODE_PRIVATE)
.getBoolean("is_hide_other_info", false)
+ val isHideSusfsStatus = LocalContext.current.getSharedPreferences("settings", Context.MODE_PRIVATE)
+ .getBoolean("is_hide_susfs_status", false)
+
Icon(Icons.Outlined.CheckCircle, stringResource(R.string.home_working))
Column(Modifier.padding(start = 20.dp)) {
Text(
@@ -356,21 +365,22 @@ private fun StatusCard(
)
}
}
+ if (!isHideSusfsStatus) {
+ Spacer(modifier = Modifier.height(4.dp))
- Spacer(modifier = Modifier.height(4.dp))
-
- val suSFS = getSuSFS()
- if (lkmMode != true) {
- val translatedStatus = when (suSFS) {
- "Supported" -> stringResource(R.string.status_supported)
- "Not Supported" -> stringResource(R.string.status_not_supported)
- else -> stringResource(R.string.status_unknown)
- }
-
- Text(
- text = stringResource(R.string.home_susfs, translatedStatus),
- style = MaterialTheme.typography.bodyMedium
- )
+ val suSFS = getSuSFS()
+ if (lkmMode != true) {
+ val translatedStatus = when (suSFS) {
+ "Supported" -> stringResource(R.string.status_supported)
+ "Not Supported" -> stringResource(R.string.status_not_supported)
+ else -> stringResource(R.string.status_unknown)
+ }
+
+ Text(
+ text = stringResource(R.string.home_susfs, translatedStatus),
+ style = MaterialTheme.typography.bodyMedium
+ )
+ }
}
}
}
@@ -599,9 +609,10 @@ private fun InfoCard() {
InfoCardItem(stringResource(R.string.home_kpm_version), displayVersion)
}
+ val isHideSusfsStatus = LocalContext.current.getSharedPreferences("settings", Context.MODE_PRIVATE)
+ .getBoolean("is_hide_susfs_status", false)
-
- if (!isSimpleMode) {
+ if ((!isSimpleMode) && (!isHideSusfsStatus)) {
Spacer(modifier = Modifier.height(16.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 9f779961..41a30eb3 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
@@ -128,6 +128,17 @@ fun MoreSettingsScreen(navigator: DestinationsNavigator) {
isHideOtherInfo = newValue
}
+ // 隐藏 SuSFS 状态开关状态
+ var isHideSusfsStatus by remember {
+ mutableStateOf(prefs.getBoolean("is_hide_susfs_status", false))
+ }
+
+ // 隐藏 SuSFS 状态开关状态
+ val onHideSusfsStatusChange = { newValue: Boolean ->
+ prefs.edit { putBoolean("is_hide_susfs_status", newValue) }
+ isHideSusfsStatus = newValue
+ }
+
// SELinux 状态
var selinuxEnabled by remember {
mutableStateOf(Shell.cmd("getenforce").exec().out.firstOrNull() == "Enforcing")
@@ -274,6 +285,20 @@ fun MoreSettingsScreen(navigator: DestinationsNavigator) {
onHideOtherInfoChange(it)
}
}
+ AnimatedVisibility(
+ visible = isExpanded,
+ modifier = Modifier.fillMaxWidth().padding(horizontal = 24.dp)
+ ) {
+ // SuSFS 状态信息
+ SwitchItem(
+ icon = Icons.Filled.VisibilityOff,
+ title = stringResource(R.string.hide_susfs_status),
+ summary = stringResource(R.string.hide_susfs_status_summary),
+ checked = isHideSusfsStatus
+ ) {
+ onHideSusfsStatusChange(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 1f4500b5..a7a15c90 100644
--- a/manager/app/src/main/res/values-zh-rCN/strings.xml
+++ b/manager/app/src/main/res/values-zh-rCN/strings.xml
@@ -193,6 +193,8 @@
隐藏内核部分的 KernelSU 版本号
强迫症开关
隐藏主页上的超级用户数、模块数和 KPM 模块数信息
+ 隐藏 SuSFS 状态信息
+ 隐藏主页上的 SuSFS 状态信息
主题模式
跟随系统
浅色
diff --git a/manager/app/src/main/res/values/strings.xml b/manager/app/src/main/res/values/strings.xml
index 028309ee..53590cc0 100644
--- a/manager/app/src/main/res/values/strings.xml
+++ b/manager/app/src/main/res/values/strings.xml
@@ -194,6 +194,8 @@
Hide kernel version
Hide other info
Hides information about the number of super users, modules and KPM modules on the home page
+ Hide SuSFS status
+ Hide SuSFS status information on the home page
Theme Mode
follow-up system
light color