Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a06d22cd authored by Chaohui Wang's avatar Chaohui Wang
Browse files

[Spa] Switch contentDescription for TwoTargetSwitchPreference

For Talkback's usage.

Fix: 333633808
Test: manual - with Talkback on
Change-Id: Ic412cdba08dab6a58d9f78c19dc998cb50bf56e9
parent 07f5a07b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ fun TwoTargetSwitchPreference(
            SettingsSwitch(
                checked = model.checked(),
                changeable = model.changeable,
                contentDescription = model.title,
                onCheckedChange = model.onCheckedChange,
            )
        }
+7 −0
Original line number Diff line number Diff line
@@ -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,
        )