manager: show default value for app profile.
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,10 +201,11 @@ private fun AppProfileInner(
|
||||
var mode by rememberSaveable { mutableStateOf(Mode.Default) }
|
||||
ProfileBox(mode, false) { mode = it }
|
||||
Crossfade(targetState = mode, label = "") { currentMode ->
|
||||
if (currentMode == Mode.Custom) {
|
||||
val modifyEnabled = currentMode == Mode.Custom
|
||||
AppProfileConfig(
|
||||
fixedName = true,
|
||||
profile = profile,
|
||||
enabled = modifyEnabled,
|
||||
onProfileChange = onProfileChange
|
||||
)
|
||||
}
|
||||
@@ -211,7 +214,6 @@ private fun AppProfileInner(
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private enum class Mode(@StringRes private val res: Int) {
|
||||
Default(R.string.profile_default),
|
||||
|
||||
Reference in New Issue
Block a user