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

Commit e88a0560 authored by Anna Galusza's avatar Anna Galusza
Browse files

Don't read state twice ("on on"/"off off") in Settings Toggle preferences.

Bug: 26967006

Change-Id: I329aabc577ed8b3dc56fe86d9f7bc8f64461c2a0
parent 4bd2152c
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -318,11 +318,15 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC
        requestLayout();
    }

    @Override
    public CharSequence getAccessibilityClassName() {
        return Switch.class.getName();
    }

    /** @hide */
    @Override
    public void onInitializeAccessibilityNodeInfoInternal(AccessibilityNodeInfo info) {
        super.onInitializeAccessibilityNodeInfoInternal(info);
        info.setClassName(Switch.class.getName());
        info.setText(mTextView.getText());
        info.setCheckable(true);
        info.setChecked(mSwitch.isChecked());
@@ -332,7 +336,10 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC
    @Override
    public void onInitializeAccessibilityEventInternal(AccessibilityEvent event) {
        super.onInitializeAccessibilityEventInternal(event);
        event.setClassName(Switch.class.getName());
        // Don't say "on on" or "off off" - rather, speak the state only once. We need to specify
        // this explicitly as each of our children (the textview and the checkbox) contribute to
        // the state once, giving us duplicate text by default.
        event.setContentDescription(mTextView.getText());
        event.setChecked(mSwitch.isChecked());
    }
}