From 807556f3610b384b176a9d2b768f49c3eeba7d8c Mon Sep 17 00:00:00 2001 From: weishu Date: Sun, 4 Jun 2023 00:22:36 +0800 Subject: [PATCH] manager: show default value for app profile. --- .../kernelsu/ui/component/SettingsItem.kt | 3 ++- .../ui/component/profile/AppProfileConfig.kt | 10 ++++++++-- .../me/weishu/kernelsu/ui/screen/AppProfile.kt | 18 ++++++++++-------- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/manager/app/src/main/java/me/weishu/kernelsu/ui/component/SettingsItem.kt b/manager/app/src/main/java/me/weishu/kernelsu/ui/component/SettingsItem.kt index 7143b23e..c3e3b5c4 100644 --- a/manager/app/src/main/java/me/weishu/kernelsu/ui/component/SettingsItem.kt +++ b/manager/app/src/main/java/me/weishu/kernelsu/ui/component/SettingsItem.kt @@ -14,6 +14,7 @@ fun SwitchItem( title: String, summary: String? = null, checked: Boolean, + enabled: Boolean = true, onCheckedChange: (Boolean) -> Unit ) { ListItem( @@ -24,7 +25,7 @@ fun SwitchItem( { Icon(icon, title) } }, trailingContent = { - Switch(checked = checked, onCheckedChange = onCheckedChange) + Switch(checked = checked, enabled = enabled, onCheckedChange = onCheckedChange) }, supportingContent = { if (summary != null) { diff --git a/manager/app/src/main/java/me/weishu/kernelsu/ui/component/profile/AppProfileConfig.kt b/manager/app/src/main/java/me/weishu/kernelsu/ui/component/profile/AppProfileConfig.kt index a3ada44d..5b6dbb7c 100644 --- a/manager/app/src/main/java/me/weishu/kernelsu/ui/component/profile/AppProfileConfig.kt +++ b/manager/app/src/main/java/me/weishu/kernelsu/ui/component/profile/AppProfileConfig.kt @@ -19,6 +19,7 @@ import me.weishu.kernelsu.ui.component.SwitchItem fun AppProfileConfig( modifier: Modifier = Modifier, fixedName: Boolean, + enabled: Boolean, profile: Natives.Profile, onProfileChange: (Natives.Profile) -> Unit, ) { @@ -33,7 +34,12 @@ fun AppProfileConfig( SwitchItem( title = stringResource(R.string.profile_unmount_modules), - checked = profile.umountModules, + checked = if (enabled) { + profile.umountModules + } else { + Natives.isDefaultUmountModules() + }, + enabled = enabled, onCheckedChange = { onProfileChange(profile.copy(umountModules = it)) } ) } @@ -43,7 +49,7 @@ fun AppProfileConfig( @Composable private fun AppProfileConfigPreview() { var profile by remember { mutableStateOf(Natives.Profile("")) } - AppProfileConfig(fixedName = true, profile = profile) { + AppProfileConfig(fixedName = true, enabled = false, profile = profile) { profile = it } } diff --git a/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/AppProfile.kt b/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/AppProfile.kt index ef29f92a..82c7c066 100644 --- a/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/AppProfile.kt +++ b/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/AppProfile.kt @@ -125,7 +125,7 @@ private fun AppProfileInner( profile: Natives.Profile, onProfileChange: (Natives.Profile) -> Unit, ) { - val isRootGranted = profile.allowSu + val isRootGranted = profile.allowSu Column(modifier = modifier) { ListItem( @@ -156,9 +156,11 @@ private fun AppProfileInner( Mode.Default -> { onProfileChange(profile.copy(rootUseDefault = true)) } + Mode.Template -> { onProfileChange(profile.copy(rootUseDefault = false)) } + else -> { onProfileChange(profile.copy(rootUseDefault = false)) } @@ -199,13 +201,13 @@ private fun AppProfileInner( var mode by rememberSaveable { mutableStateOf(Mode.Default) } ProfileBox(mode, false) { mode = it } Crossfade(targetState = mode, label = "") { currentMode -> - if (currentMode == Mode.Custom) { - AppProfileConfig( - fixedName = true, - profile = profile, - onProfileChange = onProfileChange - ) - } + val modifyEnabled = currentMode == Mode.Custom + AppProfileConfig( + fixedName = true, + profile = profile, + enabled = modifyEnabled, + onProfileChange = onProfileChange + ) } } }