From 5d449988fb6a42aa68a470d1c53bc87c904fad49 Mon Sep 17 00:00:00 2001 From: weishu Date: Sun, 4 Jun 2023 09:58:02 +0800 Subject: [PATCH] manager: Fix app profile umount default --- .../ui/component/profile/AppProfileConfig.kt | 9 ++++++++- .../weishu/kernelsu/ui/screen/AppProfile.kt | 20 +++++-------------- 2 files changed, 13 insertions(+), 16 deletions(-) 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 5b6dbb7c..d5b09727 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 @@ -40,7 +40,14 @@ fun AppProfileConfig( Natives.isDefaultUmountModules() }, enabled = enabled, - onCheckedChange = { onProfileChange(profile.copy(umountModules = it)) } + onCheckedChange = { + onProfileChange( + profile.copy( + umountModules = it, + nonRootUseDefault = false + ) + ) + } ) } } 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 82c7c066..4b17550b 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 @@ -152,19 +152,7 @@ private fun AppProfileInner( Mode.Custom } ProfileBox(mode, true) { - when (it) { - Mode.Default -> { - onProfileChange(profile.copy(rootUseDefault = true)) - } - - Mode.Template -> { - onProfileChange(profile.copy(rootUseDefault = false)) - } - - else -> { - onProfileChange(profile.copy(rootUseDefault = false)) - } - } + onProfileChange(profile.copy(rootUseDefault = it == Mode.Default)) } Crossfade(targetState = mode, label = "") { currentMode -> if (currentMode == Mode.Template) { @@ -198,8 +186,10 @@ private fun AppProfileInner( } } } else { - var mode by rememberSaveable { mutableStateOf(Mode.Default) } - ProfileBox(mode, false) { mode = it } + val mode = if (profile.nonRootUseDefault) Mode.Default else Mode.Custom + ProfileBox(mode, false) { + onProfileChange(profile.copy(nonRootUseDefault = (it == Mode.Default))) + } Crossfade(targetState = mode, label = "") { currentMode -> val modifyEnabled = currentMode == Mode.Custom AppProfileConfig(