Merge "Ignore accessibility overlays during visible window computation" into lmp-mr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
42b2591447
@@ -984,12 +984,7 @@ final class AccessibilityController {
|
||||
|
||||
final int visibleWindowCount = visibleWindows.size();
|
||||
for (int i = visibleWindowCount - 1; i >= 0; i--) {
|
||||
WindowState windowState = visibleWindows.valueAt(i);
|
||||
|
||||
// Compute the bounds in the screen.
|
||||
Rect boundsInScreen = mTempRect;
|
||||
computeWindowBoundsInScreen(windowState, boundsInScreen);
|
||||
|
||||
final WindowState windowState = visibleWindows.valueAt(i);
|
||||
final int flags = windowState.mAttrs.flags;
|
||||
|
||||
// If the window is not touchable - ignore.
|
||||
@@ -997,6 +992,16 @@ final class AccessibilityController {
|
||||
continue;
|
||||
}
|
||||
|
||||
// If the window is an accessibility overlay - ignore.
|
||||
if (windowState.mAttrs.type ==
|
||||
WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Compute the bounds in the screen.
|
||||
final Rect boundsInScreen = mTempRect;
|
||||
computeWindowBoundsInScreen(windowState, boundsInScreen);
|
||||
|
||||
// If the window is completely covered by other windows - ignore.
|
||||
if (unaccountedSpace.quickReject(boundsInScreen)) {
|
||||
continue;
|
||||
@@ -1013,14 +1018,8 @@ final class AccessibilityController {
|
||||
}
|
||||
}
|
||||
|
||||
// Account for the space this window takes if the window
|
||||
// is not an accessibility overlay which does not change
|
||||
// the reported windows.
|
||||
if (windowState.mAttrs.type == WindowManager.LayoutParams
|
||||
.TYPE_ACCESSIBILITY_OVERLAY) {
|
||||
unaccountedSpace.op(boundsInScreen, unaccountedSpace,
|
||||
Region.Op.REVERSE_DIFFERENCE);
|
||||
}
|
||||
unaccountedSpace.op(boundsInScreen, unaccountedSpace,
|
||||
Region.Op.REVERSE_DIFFERENCE);
|
||||
|
||||
// We figured out what is touchable for the entire screen - done.
|
||||
if (unaccountedSpace.isEmpty()) {
|
||||
|
||||
Reference in New Issue
Block a user