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

Commit a200e774 authored by Phil Weaver's avatar Phil Weaver Committed by Android (Google) Code Review
Browse files

Merge "Prevent a11y seeing behind tasks w/modal windows." into nyc-mr1-dev

parents ba933b39 ac9ad700
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -1071,14 +1071,15 @@ final class AccessibilityController {
                                Region.Op.REVERSE_DIFFERENCE);
                    }

                    // We figured out what is touchable for the entire screen - done.
                    if (unaccountedSpace.isEmpty()) {
                        break;
                    }

                    // If a window is modal it prevents other windows from being touched
                    if ((flags & (WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
                            | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL)) == 0) {
                        // Account for all space in the task, whether the windows in it are
                        // touchable or not. The modal window blocks all touches from the task's
                        // area.
                        unaccountedSpace.op(windowState.getDisplayFrameLw(), unaccountedSpace,
                                Region.Op.REVERSE_DIFFERENCE);

                        if (task != null) {
                            // If the window is associated with a particular task, we can skip the
                            // rest of the windows for that task.
@@ -1090,6 +1091,10 @@ final class AccessibilityController {
                            break;
                        }
                    }
                    // We figured out what is touchable for the entire screen - done.
                    if (unaccountedSpace.isEmpty()) {
                        break;
                    }
                }

                // Always report the focused window.