diff --git a/app/src/main/java/com/vanced/manager/ui/component/preference/CheckboxDialogPreference.kt b/app/src/main/java/com/vanced/manager/ui/component/preference/MultiSelectDialogPreference.kt similarity index 92% rename from app/src/main/java/com/vanced/manager/ui/component/preference/CheckboxDialogPreference.kt rename to app/src/main/java/com/vanced/manager/ui/component/preference/MultiSelectDialogPreference.kt index 93c1b294..f4532451 100644 --- a/app/src/main/java/com/vanced/manager/ui/component/preference/CheckboxDialogPreference.kt +++ b/app/src/main/java/com/vanced/manager/ui/component/preference/MultiSelectDialogPreference.kt @@ -14,7 +14,7 @@ import com.vanced.manager.ui.resources.managerString import com.vanced.manager.ui.widget.list.CheckboxItem @Composable -fun CheckboxDialogPreference( +fun MultiSelectDialogPreference( preferenceTitle: String, preferenceDescription: String, isDialogVisible: Boolean, @@ -51,8 +51,8 @@ fun CheckboxDialogPreference( val (title, key) = button CheckboxItem( text = title, - isChecked = currentSelectedKeys.contains(key), - onCheck = { isChecked -> + checked = currentSelectedKeys.contains(key), + onCheckedChange = { isChecked -> onItemCheckChange(isChecked, key) } ) diff --git a/app/src/main/java/com/vanced/manager/ui/component/preference/RadiobuttonDialogPreference.kt b/app/src/main/java/com/vanced/manager/ui/component/preference/SingleSelectDialogPreference.kt similarity index 91% rename from app/src/main/java/com/vanced/manager/ui/component/preference/RadiobuttonDialogPreference.kt rename to app/src/main/java/com/vanced/manager/ui/component/preference/SingleSelectDialogPreference.kt index 533895e2..6454962b 100644 --- a/app/src/main/java/com/vanced/manager/ui/component/preference/RadiobuttonDialogPreference.kt +++ b/app/src/main/java/com/vanced/manager/ui/component/preference/SingleSelectDialogPreference.kt @@ -14,7 +14,7 @@ import com.vanced.manager.ui.resources.managerString import com.vanced.manager.ui.widget.list.RadiobuttonItem @Composable -fun RadiobuttonDialogPreference( +fun SingleSelectDialogPreference( preferenceTitle: String, preferenceDescription: String, isDialogVisible: Boolean, @@ -51,9 +51,10 @@ fun RadiobuttonDialogPreference( val (title, key) = button RadiobuttonItem( text = title, - tag = key, - isSelected = currentSelectedKey == key, - onSelect = onItemClick + selected = currentSelectedKey == key, + onClick = { + onItemClick(key) + } ) } } diff --git a/app/src/main/java/com/vanced/manager/ui/screens/InstallPreferencesScreen.kt b/app/src/main/java/com/vanced/manager/ui/screens/InstallPreferencesScreen.kt index 432d2633..f1cb4514 100644 --- a/app/src/main/java/com/vanced/manager/ui/screens/InstallPreferencesScreen.kt +++ b/app/src/main/java/com/vanced/manager/ui/screens/InstallPreferencesScreen.kt @@ -117,8 +117,8 @@ fun InstallPreferencesScreen( CheckboxItem( modifier = Modifier.fillMaxWidth(), text = item.displayText(item.key), - isChecked = preference.contains(item.key), - onCheck = { + checked = preference.contains(item.key), + onCheckedChange = { if (it) { installationOption.addOption(item.key) } else { @@ -134,11 +134,10 @@ fun InstallPreferencesScreen( RadiobuttonItem( modifier = Modifier.fillMaxWidth(), text = item.displayText(item.key), - isSelected = preference == item.key, - onSelect = { + selected = preference == item.key, + onClick = { installationOption.setOption(item.key) }, - tag = item.key ) } } diff --git a/app/src/main/java/com/vanced/manager/ui/widget/list/CheckboxItem.kt b/app/src/main/java/com/vanced/manager/ui/widget/list/CheckboxItem.kt index 9f16f5a4..974c5fae 100644 --- a/app/src/main/java/com/vanced/manager/ui/widget/list/CheckboxItem.kt +++ b/app/src/main/java/com/vanced/manager/ui/widget/list/CheckboxItem.kt @@ -12,15 +12,15 @@ import com.vanced.manager.ui.component.text.ManagerText @Composable fun CheckboxItem( text: String, - isChecked: Boolean, - onCheck: (Boolean) -> Unit, + checked: Boolean, + onCheckedChange: (Boolean) -> Unit, modifier: Modifier = Modifier, ) { - val toggle = { onCheck(!isChecked) } - ManagerSelectableListItem( modifier = modifier - .managerClickable(onClick = toggle), + .managerClickable(onClick = { + onCheckedChange(!checked) + }), title = { ManagerText( text = text, @@ -30,10 +30,8 @@ fun CheckboxItem( }, trailing = { Checkbox( - checked = isChecked, - onCheckedChange = { - toggle() - } + checked = checked, + onCheckedChange = null ) } ) diff --git a/app/src/main/java/com/vanced/manager/ui/widget/list/RadiobuttonItem.kt b/app/src/main/java/com/vanced/manager/ui/widget/list/RadiobuttonItem.kt index 3cc8c234..0a4aeb71 100644 --- a/app/src/main/java/com/vanced/manager/ui/widget/list/RadiobuttonItem.kt +++ b/app/src/main/java/com/vanced/manager/ui/widget/list/RadiobuttonItem.kt @@ -10,14 +10,12 @@ import com.vanced.manager.ui.component.modifier.managerClickable import com.vanced.manager.ui.component.text.ManagerText @Composable -fun RadiobuttonItem( +fun RadiobuttonItem( text: String, - tag: T, - isSelected: Boolean, - onSelect: (tag: T) -> Unit, + selected: Boolean, + onClick: () -> Unit, modifier: Modifier = Modifier ) { - val onClick = { onSelect(tag) } ManagerSelectableListItem( modifier = modifier .managerClickable(onClick = onClick), @@ -30,8 +28,8 @@ fun RadiobuttonItem( }, trailing = { RadioButton( - selected = isSelected, - onClick = onClick + selected = selected, + onClick = null ) } ) diff --git a/app/src/main/java/com/vanced/manager/ui/widget/screens/settings/ManagerVariantItem.kt b/app/src/main/java/com/vanced/manager/ui/widget/screens/settings/ManagerVariantItem.kt index f68cc0da..121a30a1 100644 --- a/app/src/main/java/com/vanced/manager/ui/widget/screens/settings/ManagerVariantItem.kt +++ b/app/src/main/java/com/vanced/manager/ui/widget/screens/settings/ManagerVariantItem.kt @@ -4,14 +4,14 @@ import androidx.compose.runtime.* import com.vanced.manager.R import com.vanced.manager.core.preferences.RadioButtonPreference import com.vanced.manager.core.preferences.holder.managerVariantPref -import com.vanced.manager.ui.component.preference.RadiobuttonDialogPreference +import com.vanced.manager.ui.component.preference.SingleSelectDialogPreference import com.vanced.manager.ui.resources.managerString @Composable fun SettingsManagerVariantItem() { var showDialog by remember { mutableStateOf(false) } var selectedKey by remember { mutableStateOf(managerVariantPref) } - RadiobuttonDialogPreference( + SingleSelectDialogPreference( preferenceTitle = managerString( stringId = R.string.settings_preference_variant_title ), diff --git a/app/src/main/java/com/vanced/manager/ui/widget/screens/settings/ThemeItem.kt b/app/src/main/java/com/vanced/manager/ui/widget/screens/settings/ThemeItem.kt index 23818eab..45392cef 100644 --- a/app/src/main/java/com/vanced/manager/ui/widget/screens/settings/ThemeItem.kt +++ b/app/src/main/java/com/vanced/manager/ui/widget/screens/settings/ThemeItem.kt @@ -4,14 +4,14 @@ import androidx.compose.runtime.* import com.vanced.manager.R import com.vanced.manager.core.preferences.RadioButtonPreference import com.vanced.manager.core.preferences.holder.managerThemePref -import com.vanced.manager.ui.component.preference.RadiobuttonDialogPreference +import com.vanced.manager.ui.component.preference.SingleSelectDialogPreference import com.vanced.manager.ui.resources.managerString @Composable fun ThemeSettingsItem() { var showDialog by remember { mutableStateOf(false) } var selectedKey by remember { mutableStateOf(managerThemePref) } - RadiobuttonDialogPreference( + SingleSelectDialogPreference( preferenceTitle = managerString(stringId = R.string.settings_preference_theme_title), preferenceDescription = managerThemePref, isDialogVisible = showDialog,