update clickable list items
This commit is contained in:
parent
a0761554b2
commit
e9e4222014
|
@ -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)
|
||||
}
|
||||
)
|
|
@ -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)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
|
@ -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
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
)
|
||||
}
|
||||
)
|
||||
|
|
|
@ -10,14 +10,12 @@ import com.vanced.manager.ui.component.modifier.managerClickable
|
|||
import com.vanced.manager.ui.component.text.ManagerText
|
||||
|
||||
@Composable
|
||||
fun <T> 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 <T> RadiobuttonItem(
|
|||
},
|
||||
trailing = {
|
||||
RadioButton(
|
||||
selected = isSelected,
|
||||
onClick = onClick
|
||||
selected = selected,
|
||||
onClick = null
|
||||
)
|
||||
}
|
||||
)
|
||||
|
|
|
@ -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
|
||||
),
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue