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

Commit b5d35848 authored by Fabián Kozynski's avatar Fabián Kozynski
Browse files

Put all text content in the node's text

Instead of just putting the state, put all the text content from the
tile. That way, the relevant services will find it. "on"/"off" is not
necessary anymore for ui tests because we use `isChecked`.

Test: manual with Talkback and Select To Speak
Test: android.platform.test.scenario.sysui.quicksettings
Bug: 261994726
Change-Id: Iea47ab940ea3e0163ba196109851ea21260af017
parent 01b56bb0
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -385,6 +385,11 @@ open class QSTileViewImpl @JvmOverloads constructor(
        super.onInitializeAccessibilityNodeInfo(info)
        // Clear selected state so it is not announce by talkback.
        info.isSelected = false
        info.text = if (TextUtils.isEmpty(secondaryLabel.text)) {
            "${label.text}"
        } else {
            "${label.text}, ${secondaryLabel.text}"
        }
        if (lastDisabledByPolicy) {
            info.addAction(
                    AccessibilityNodeInfo.AccessibilityAction(
@@ -402,12 +407,6 @@ open class QSTileViewImpl @JvmOverloads constructor(
                accessibilityClass
            }
            if (Switch::class.java.name == accessibilityClass) {
                val label = resources.getString(
                        if (tileState) R.string.switch_bar_on else R.string.switch_bar_off)
                // Set the text here for tests in
                // android.platform.test.scenario.sysui.quicksettings. Can be removed when
                // UiObject2 has a new getStateDescription() API and tests are updated.
                info.text = label
                info.isChecked = tileState
                info.isCheckable = true
                if (isLongClickable) {