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

Commit d957e0f5 authored by Svetoslav Ganov's avatar Svetoslav Ganov Committed by Android (Google) Code Review
Browse files

Merge "Added accessibility code to read back typed or deleted digits."

parents 0afe4203 5679bed5
Loading
Loading
Loading
Loading
+16 −3
Original line number Diff line number Diff line
@@ -59,9 +59,22 @@ public class DigitsEditText extends EditText {
    @Override
    public void sendAccessibilityEventUnchecked(AccessibilityEvent event) {
        if (event.getEventType() == AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED) {
            // AsYouTypeFormatter frequently replaces digits with formatted ones, which makes
            // tts too verbose. Let's ignore the whole event.
            // Since we're replacing the text every time we add or remove a
            // character, only read the difference. (issue 5337550)
            final int added = event.getAddedCount();
            final int removed = event.getRemovedCount();
            final int length = event.getBeforeText().length();
            if (added > removed) {
                event.setRemovedCount(0);
                event.setAddedCount(1);
                event.setFromIndex(length);
            } else if (removed > added) {
                event.setRemovedCount(1);
                event.setAddedCount(0);
                event.setFromIndex(length - 1);
            } else {
                return;
            }
        } else if (event.getEventType() == AccessibilityEvent.TYPE_VIEW_FOCUSED) {
            // The parent EditText class lets tts read "edit box" when this View has a focus, which
            // confuses users on app launch (issue 5275935).