summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2019-04-19 12:35:16 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-04-19 12:35:16 +0000
commitf84cc965fe082879d891e4caafc07b8cf97a4b96 (patch)
tree6fc84aaf2485494cb2d4b937282de1c224cfa9b9
parent79a58a7fbc69582f0d8042e469f9c7d918f1e0b5 (diff)
parentd98ceddda10f4bee77b3e0a7902c7d630626ce17 (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.java7
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;
}
}