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

Commit 504791bd authored by Phil Weaver's avatar Phil Weaver Committed by android-build-merger
Browse files

Merge "Don't let non-touchable windows retain a11y focus" into pi-dev am: 8bbc3095

am: fd348902

Change-Id: I3b78400d58b42049c835adcad4a8d804e40bdebc
parents 2e5cf847 fd348902
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -3129,6 +3129,11 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
            boolean activeWindowGone = true;

            final int windowCount = windows.size();

            // We'll clear accessibility focus if the window with focus is no longer visible to
            // accessibility services
            boolean shouldClearAccessibilityFocus =
                    mAccessibilityFocusedWindowId != INVALID_WINDOW_ID;
            if (windowCount > 0) {
                for (int i = 0; i < windowCount; i++) {
                    WindowInfo windowInfo = windows.get(i);
@@ -3170,6 +3175,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
                    }
                    if (window.getId() == mAccessibilityFocusedWindowId) {
                        window.setAccessibilityFocused(true);
                        shouldClearAccessibilityFocus = false;
                    }
                }
            }
@@ -3180,6 +3186,10 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
            for (int i = oldWindowCount - 1; i >= 0; i--) {
                oldWindowList.remove(i).recycle();
            }

            if (shouldClearAccessibilityFocus) {
                clearAccessibilityFocus(mAccessibilityFocusedWindowId);
            }
        }

        private void sendEventsForChangedWindowsLocked(List<AccessibilityWindowInfo> oldWindows,