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

Commit 8e7fba68 authored by András Kurucz's avatar András Kurucz
Browse files

Don't send unchecked a11y events from ExpandableNotificationRow

View#sendAccessibilityEventUnchecked(AccessibilityEvent event)
does not check whether accessibility is enabled or not, and
leaves this responsibility to the caller. Unfortunately this is the only
method that enables us to send a TYPE_WINDOW_CONTENT_CHANGED event with
defining its content change type.

This CL adds the required check for accessibility being enabled..

Bug: 380027122
Test: expand/collapse Notifications with TalkBack off
Flag: com.android.systemui.notification_row_accessibility_expanded

Change-Id: I82a43a3b60f2da493df3cff455d1329571943706
parent 5febd85c
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -68,6 +68,7 @@ import android.view.ViewGroup;
import android.view.ViewParent;
import android.view.ViewStub;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
import android.widget.Chronometer;
@@ -4021,11 +4022,13 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
    }

    private void notifyAccessibilityContentExpansionChanged() {
        AccessibilityEvent event = AccessibilityEvent.obtain(TYPE_WINDOW_CONTENT_CHANGED);
        onPopulateAccessibilityEvent(event);
        if (AccessibilityManager.getInstance(mContext).isEnabled()) {
            AccessibilityEvent event = AccessibilityEvent.obtain();
            event.setEventType(TYPE_WINDOW_CONTENT_CHANGED);
            event.setContentChangeTypes(CONTENT_CHANGE_TYPE_EXPANDED);
            sendAccessibilityEventUnchecked(event);
        }
    }

    public void setOnExpansionChangedListener(@Nullable OnExpansionChangedListener listener) {
        mExpansionChangedListener = listener;