From aa53223b02c047df16d5d7ea506bb669a1a95732 Mon Sep 17 00:00:00 2001 From: WenHao2130 Date: Sat, 29 Mar 2025 18:13:07 +0800 Subject: [PATCH] [wip]manager: allow hide kernelsu version This is an experimental commit Signed-off-by: WenHao2130 --- .../shirkneko/zako/sukisu/ui/screen/Home.kt | 21 ++++++++++++++----- .../zako/sukisu/ui/screen/MoreSettings.kt | 21 +++++++++++++++++++ .../src/main/res/values-zh-rCN/strings.xml | 2 ++ manager/app/src/main/res/values/strings.xml | 2 ++ 4 files changed, 41 insertions(+), 5 deletions(-) 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 93732b2d..e2ca76d3 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 @@ -58,12 +58,18 @@ import androidx.core.content.edit fun HomeScreen(navigator: DestinationsNavigator) { val context = LocalContext.current var isSimpleMode by rememberSaveable { mutableStateOf(false) } + var isHideVersion by rememberSaveable { mutableStateOf(false) } // 从 SharedPreferences 加载简洁模式状态 LaunchedEffect(Unit) { isSimpleMode = context.getSharedPreferences("settings", Context.MODE_PRIVATE) .getBoolean("is_simple_mode", false) } + // 从 SharedPreferences 加载隐藏 KernelSU 版本号开关状态 + LaunchedEffect(Unit) { + isHideVersion = context.getSharedPreferences("settings", Context.MODE_PRIVATE) + .getBoolean("is_hide_version", false) + } val kernelVersion = getKernelVersion() val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior(rememberTopAppBarState()) @@ -299,17 +305,22 @@ private fun StatusCard( val workingText = "${stringResource(id = R.string.home_working)}$workingMode$safeMode" + val isHideVersion = LocalContext.current.getSharedPreferences("settings", Context.MODE_PRIVATE) + .getBoolean("is_hide_version", false) + Icon(Icons.Outlined.CheckCircle, stringResource(R.string.home_working)) Column(Modifier.padding(start = 20.dp)) { Text( text = workingText, style = MaterialTheme.typography.titleMedium ) - Spacer(Modifier.height(4.dp)) - Text( - text = stringResource(R.string.home_working_version, ksuVersion), - style = MaterialTheme.typography.bodyMedium - ) + if (!isHideVersion) { + Spacer(Modifier.height(4.dp)) + Text( + text = stringResource(R.string.home_working_version, ksuVersion), + style = MaterialTheme.typography.bodyMedium + ) + } Spacer(Modifier.height(4.dp)) Text( text = stringResource( 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 4cc038a8..3e1409c5 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 @@ -104,6 +104,17 @@ fun MoreSettingsScreen(navigator: DestinationsNavigator) { isSimpleMode = newValue } + // 隐藏内核 KernelSU 版本号开关状态 + var isHideVersion by remember { + mutableStateOf(prefs.getBoolean("is_hide_version", false)) + } + + // 隐藏内核 KernelSU 版本号模块开关状态 + val onHideVersionChange = { newValue: Boolean -> + prefs.edit { putBoolean("is_hide_version", newValue) } + isHideVersion = newValue + } + // SELinux 状态 var selinuxEnabled by remember { mutableStateOf(Shell.cmd("getenforce").exec().out.firstOrNull() == "Enforcing") @@ -209,6 +220,16 @@ fun MoreSettingsScreen(navigator: DestinationsNavigator) { onSimpleModeChange(it) } + // 隐藏内核部分版本号 + 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) + } + // region SUSFS 配置(仅在支持时显示) val suSFS = getSuSFS() val isSUS_SU = getSuSFSFeatures() 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 ac4da458..4ef8ade1 100644 --- a/manager/app/src/main/res/values-zh-rCN/strings.xml +++ b/manager/app/src/main/res/values-zh-rCN/strings.xml @@ -189,6 +189,8 @@ 宽容模式 简洁模式 开启后将隐藏不必要的卡片 + 隐藏内核版本号 + 隐藏内核部分的 KernelSU 版本号 主题模式 跟随系统 浅色 diff --git a/manager/app/src/main/res/values/strings.xml b/manager/app/src/main/res/values/strings.xml index 06854aa6..02ebbe61 100644 --- a/manager/app/src/main/res/values/strings.xml +++ b/manager/app/src/main/res/values/strings.xml @@ -190,6 +190,8 @@ Disabled simplicity mode Hides unnecessary cards when turned on + Hide kernel version + ide kernel version Theme Mode follow-up system light color