diff options
| author | 2019-04-19 12:35:16 +0000 | |
|---|---|---|
| committer | 2019-04-19 12:35:16 +0000 | |
| commit | f84cc965fe082879d891e4caafc07b8cf97a4b96 (patch) | |
| tree | 6fc84aaf2485494cb2d4b937282de1c224cfa9b9 | |
| parent | 79a58a7fbc69582f0d8042e469f9c7d918f1e0b5 (diff) | |
| parent | d98ceddda10f4bee77b3e0a7902c7d630626ce17 (diff) | |
Merge "Make sure focused window is tracked by accessibility even if it is obscured." into qt-dev
| -rw-r--r-- | services/core/java/com/android/server/wm/AccessibilityController.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/AccessibilityController.java b/services/core/java/com/android/server/wm/AccessibilityController.java index 0ebd092aff43..6ce42ec4cb44 100644 --- a/services/core/java/com/android/server/wm/AccessibilityController.java +++ b/services/core/java/com/android/server/wm/AccessibilityController.java @@ -1132,7 +1132,7 @@ final class AccessibilityController { HashSet<Integer> skipRemainingWindowsForTasks = new HashSet<>(); // Iterate until we figure out what is touchable for the entire screen. - for (int i = visibleWindowCount - 1; i >= 0 && !unaccountedSpace.isEmpty(); i--) { + for (int i = visibleWindowCount - 1; i >= 0; i--) { final WindowState windowState = visibleWindows.valueAt(i); final Rect boundsInScreen = mTempRect; @@ -1143,6 +1143,11 @@ final class AccessibilityController { addPopulatedWindowInfo(windowState, boundsInScreen, windows, addedWindows); updateUnaccountedSpace(windowState, boundsInScreen, unaccountedSpace, skipRemainingWindowsForTasks); + focusedWindowAdded |= windowState.isFocused(); + } + + if (unaccountedSpace.isEmpty() && focusedWindowAdded) { + break; } } |