From 2817583e3ca9c4662046fbfa7aaebbe435c26ed8 Mon Sep 17 00:00:00 2001 From: ShirkNeko <109797057+ShirkNeko@users.noreply.github.com> Date: Sun, 1 Jun 2025 21:24:21 +0800 Subject: [PATCH] Optimize icon handling for settings cards Allow icons to be optional and remove redundant group title displays --- .../sukisu/ultra/ui/screen/MoreSettings.kt | 25 +++++++++---------- .../com/sukisu/ultra/ui/screen/SuperUser.kt | 12 --------- 2 files changed, 12 insertions(+), 25 deletions(-) diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/MoreSettings.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/MoreSettings.kt index 68e70ece..a6e5e012 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/MoreSettings.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/MoreSettings.kt @@ -510,7 +510,6 @@ fun MoreSettingsScreen() { // 外观设置部分 SettingsCard( title = stringResource(R.string.appearance_settings), - icon = Icons.Default.Palette ) { // 语言设置 SettingItem( @@ -846,8 +845,7 @@ fun MoreSettingsScreen() { // 自定义设置部分 SettingsCard( - title = stringResource(R.string.custom_settings), - icon = Icons.Default.Settings + title = stringResource(R.string.custom_settings) ) { // 添加简洁模式开关 SwitchItem( @@ -914,8 +912,7 @@ fun MoreSettingsScreen() { // 高级设置部分 SettingsCard( - title = stringResource(R.string.advanced_settings), - icon = Icons.Default.AdminPanelSettings + title = stringResource(R.string.advanced_settings) ) { // SELinux 开关 KsuIsValid { @@ -1164,7 +1161,7 @@ fun MoreSettingsScreen() { @Composable fun SettingsCard( title: String, - icon: ImageVector, + icon: ImageVector? = null, content: @Composable () -> Unit ) { Card( @@ -1180,13 +1177,15 @@ fun SettingsCard( verticalAlignment = Alignment.CenterVertically, modifier = Modifier.padding(horizontal = 16.dp, vertical = 12.dp) ) { - Icon( - imageVector = icon, - contentDescription = null, - tint = MaterialTheme.colorScheme.primary, - modifier = Modifier.size(24.dp) - ) - Spacer(modifier = Modifier.width(12.dp)) + if (icon != null) { + Icon( + imageVector = icon, + contentDescription = null, + tint = MaterialTheme.colorScheme.primary, + modifier = Modifier.size(24.dp) + ) + Spacer(modifier = Modifier.width(12.dp)) + } Text( text = title, style = MaterialTheme.typography.titleLarge, diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/SuperUser.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/SuperUser.kt index 448360d3..027b5d82 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/SuperUser.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/SuperUser.kt @@ -493,10 +493,6 @@ fun SuperUserScreen(navigator: DestinationsNavigator) { // 显示ROOT权限应用组 if (rootApps.isNotEmpty()) { - item { - GroupHeader(title = stringResource(R.string.apps_with_root)) - } - items(rootApps, key = { "root_" + it.packageName + it.uid }) { app -> AppItem( app = app, @@ -532,10 +528,6 @@ fun SuperUserScreen(navigator: DestinationsNavigator) { // 显示自定义配置应用组 if (customApps.isNotEmpty()) { - item { - GroupHeader(title = stringResource(R.string.apps_with_custom_profile)) - } - items(customApps, key = { "custom_" + it.packageName + it.uid }) { app -> AppItem( app = app, @@ -571,10 +563,6 @@ fun SuperUserScreen(navigator: DestinationsNavigator) { // 显示其他应用组 if (otherApps.isNotEmpty()) { - item { - GroupHeader(title = stringResource(R.string.other_apps)) - } - items(otherApps, key = { "other_" + it.packageName + it.uid }) { app -> AppItem( app = app,