From 8e7fba686015dd73aed716e175d2f00124bea3cf Mon Sep 17 00:00:00 2001 From: AndrĂ¡s Kurucz Date: Thu, 6 Mar 2025 08:49:12 +0000 Subject: 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 --- .../statusbar/notification/row/ExpandableNotificationRow.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java index 6e6c413920de..c69a856da786 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java @@ -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,10 +4022,12 @@ public class ExpandableNotificationRow extends ActivatableNotificationView } private void notifyAccessibilityContentExpansionChanged() { - AccessibilityEvent event = AccessibilityEvent.obtain(TYPE_WINDOW_CONTENT_CHANGED); - onPopulateAccessibilityEvent(event); - event.setContentChangeTypes(CONTENT_CHANGE_TYPE_EXPANDED); - sendAccessibilityEventUnchecked(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) { -- cgit v1.2.3-59-g8ed1b