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

Commit d9f2151a authored by Qasid Sadiq's avatar Qasid Sadiq
Browse files

Revert "AccessibilityEvents for visibility changes should be subtree events."

This reverts commit 518520b8.

Reason for revert: This change doesn't solve the issue.

Change-Id: Iaa473eb2e3698b137c455cb09800179274a28cfb
parent 518520b8
Loading
Loading
Loading
Loading
+13 −7
Original line number Diff line number Diff line
@@ -15608,7 +15608,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
     */
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
    void setFlags(int flags, int mask) {
        final boolean accessibilityEnabled = AccessibilityManager.getInstance(mContext).isEnabled();
        final boolean accessibilityEnabled =
                AccessibilityManager.getInstance(mContext).isEnabled();
        final boolean oldIncludeForAccessibility = accessibilityEnabled && includeForAccessibility();
        int old = mViewFlags;
@@ -15823,14 +15824,19 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
        if (accessibilityEnabled) {
            // If we're an accessibility pane and the visibility changed, we already have sent
            // a state change, so we really don't need to report other changes.
            // Accessibility Services aren't concerned with changes between GONE and INVISIBLE.
            boolean visibilityChanged = !isAccessibilityPane() && ((changed & VISIBILITY_MASK) != 0)
                    && ((old & VISIBILITY_MASK) == VISIBLE || newVisibility == VISIBLE);
            if (oldIncludeForAccessibility != includeForAccessibility() || visibilityChanged) {
                notifySubtreeAccessibilityStateChangedIfNeeded();
            } else if ((changed & ENABLED_MASK) != 0 || (changed & FOCUSABLE) != 0
            if (isAccessibilityPane()) {
                changed &= ~VISIBILITY_MASK;
            }
            if ((changed & FOCUSABLE) != 0 || (changed & VISIBILITY_MASK) != 0
                    || (changed & CLICKABLE) != 0 || (changed & LONG_CLICKABLE) != 0
                    || (changed & CONTEXT_CLICKABLE) != 0) {
                if (oldIncludeForAccessibility != includeForAccessibility()) {
                    notifySubtreeAccessibilityStateChangedIfNeeded();
                } else {
                    notifyViewAccessibilityStateChangedIfNeeded(
                            AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED);
                }
            } else if ((changed & ENABLED_MASK) != 0) {
                notifyViewAccessibilityStateChangedIfNeeded(
                        AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED);
            }