diff options
2 files changed, 8 insertions, 0 deletions
diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/TwoTargetSwitchPreference.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/TwoTargetSwitchPreference.kt index 791893b3c056..ef1a137198c2 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/TwoTargetSwitchPreference.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/TwoTargetSwitchPreference.kt @@ -37,6 +37,7 @@ fun TwoTargetSwitchPreference( SettingsSwitch( checked = model.checked(), changeable = model.changeable, + contentDescription = model.title, onCheckedChange = model.onCheckedChange, ) } diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/Switch.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/Switch.kt index a0da2418acbc..5155406b6d79 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/Switch.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/Switch.kt @@ -20,12 +20,16 @@ import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.material3.Switch import androidx.compose.runtime.Composable import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.semantics.contentDescription +import androidx.compose.ui.semantics.semantics import com.android.settingslib.spa.framework.util.wrapOnSwitchWithLog @Composable internal fun SettingsSwitch( checked: Boolean?, changeable: () -> Boolean, + contentDescription: String? = null, onCheckedChange: ((newChecked: Boolean) -> Unit)? = null, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, ) { @@ -33,6 +37,9 @@ internal fun SettingsSwitch( Switch( checked = checked, onCheckedChange = wrapOnSwitchWithLog(onCheckedChange), + modifier = if (contentDescription != null) Modifier.semantics { + this.contentDescription = contentDescription + } else Modifier, enabled = changeable(), interactionSource = interactionSource, ) |