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

Commit 011ca093 authored by Chaohui Wang's avatar Chaohui Wang Committed by Android (Google) Code Review
Browse files

Merge "[Spa] Switch contentDescription for TwoTargetSwitchPreference" into main

parents cccdd3c8 a06d22cd
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -37,6 +37,7 @@ fun TwoTargetSwitchPreference(
            SettingsSwitch(
            SettingsSwitch(
                checked = model.checked(),
                checked = model.checked(),
                changeable = model.changeable,
                changeable = model.changeable,
                contentDescription = model.title,
                onCheckedChange = model.onCheckedChange,
                onCheckedChange = model.onCheckedChange,
            )
            )
        }
        }
+7 −0
Original line number Original line Diff line number Diff line
@@ -20,12 +20,16 @@ import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.material3.Switch
import androidx.compose.material3.Switch
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
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
import com.android.settingslib.spa.framework.util.wrapOnSwitchWithLog


@Composable
@Composable
internal fun SettingsSwitch(
internal fun SettingsSwitch(
    checked: Boolean?,
    checked: Boolean?,
    changeable: () -> Boolean,
    changeable: () -> Boolean,
    contentDescription: String? = null,
    onCheckedChange: ((newChecked: Boolean) -> Unit)? = null,
    onCheckedChange: ((newChecked: Boolean) -> Unit)? = null,
    interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
    interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
) {
) {
@@ -33,6 +37,9 @@ internal fun SettingsSwitch(
        Switch(
        Switch(
            checked = checked,
            checked = checked,
            onCheckedChange = wrapOnSwitchWithLog(onCheckedChange),
            onCheckedChange = wrapOnSwitchWithLog(onCheckedChange),
            modifier = if (contentDescription != null) Modifier.semantics {
                this.contentDescription = contentDescription
            } else Modifier,
            enabled = changeable(),
            enabled = changeable(),
            interactionSource = interactionSource,
            interactionSource = interactionSource,
        )
        )