Loading packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/editor/SettingsDropdownCheckBox.kt +29 −15 Original line number Diff line number Diff line Loading @@ -19,14 +19,19 @@ package com.android.settingslib.spa.widget.editor import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.selection.toggleable import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.Checkbox import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.material3.minimumInteractiveComponentSize import androidx.compose.runtime.Composable import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.semantics.Role import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.theme.SettingsDimension import com.android.settingslib.spa.framework.theme.SettingsOpacity.alphaForEnabled Loading Loading @@ -109,23 +114,32 @@ private fun checkboxItemOnClick( private fun CheckboxItem( option: SettingsDropdownCheckOption, onClick: (SettingsDropdownCheckOption) -> Unit, ) { TextButton( onClick = { onClick(option) }, modifier = Modifier.fillMaxWidth(), ) { Row( modifier = Modifier.fillMaxWidth(), modifier = Modifier .fillMaxWidth() .minimumInteractiveComponentSize() .toggleable( value = option.selected.value, enabled = option.changeable, role = Role.Checkbox, onValueChange = { onClick(option) }, ) .padding(ButtonDefaults.TextButtonContentPadding), horizontalArrangement = Arrangement.spacedBy(SettingsDimension.itemPaddingAround), verticalAlignment = Alignment.CenterVertically verticalAlignment = Alignment.CenterVertically, ) { Checkbox( checked = option.selected.value, onCheckedChange = null, enabled = option.changeable, ) Text(text = option.text, modifier = Modifier.alphaForEnabled(option.changeable)) } Text( text = option.text, modifier = Modifier.alphaForEnabled(option.changeable), color = MaterialTheme.colorScheme.primary, style = MaterialTheme.typography.labelLarge, ) } } Loading Loading
packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/editor/SettingsDropdownCheckBox.kt +29 −15 Original line number Diff line number Diff line Loading @@ -19,14 +19,19 @@ package com.android.settingslib.spa.widget.editor import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.selection.toggleable import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.Checkbox import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.material3.minimumInteractiveComponentSize import androidx.compose.runtime.Composable import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.semantics.Role import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.theme.SettingsDimension import com.android.settingslib.spa.framework.theme.SettingsOpacity.alphaForEnabled Loading Loading @@ -109,23 +114,32 @@ private fun checkboxItemOnClick( private fun CheckboxItem( option: SettingsDropdownCheckOption, onClick: (SettingsDropdownCheckOption) -> Unit, ) { TextButton( onClick = { onClick(option) }, modifier = Modifier.fillMaxWidth(), ) { Row( modifier = Modifier.fillMaxWidth(), modifier = Modifier .fillMaxWidth() .minimumInteractiveComponentSize() .toggleable( value = option.selected.value, enabled = option.changeable, role = Role.Checkbox, onValueChange = { onClick(option) }, ) .padding(ButtonDefaults.TextButtonContentPadding), horizontalArrangement = Arrangement.spacedBy(SettingsDimension.itemPaddingAround), verticalAlignment = Alignment.CenterVertically verticalAlignment = Alignment.CenterVertically, ) { Checkbox( checked = option.selected.value, onCheckedChange = null, enabled = option.changeable, ) Text(text = option.text, modifier = Modifier.alphaForEnabled(option.changeable)) } Text( text = option.text, modifier = Modifier.alphaForEnabled(option.changeable), color = MaterialTheme.colorScheme.primary, style = MaterialTheme.typography.labelLarge, ) } } Loading