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

Commit 04226362 authored by Eugene Susla's avatar Eugene Susla
Browse files

Fix focusable a11y overlay obstructing introspection

Fixes: 77294673
Test: ensure attached bug is fixed
Change-Id: I425dcb6a8c6f598cf295b155017b4c5f519394f1
parent caa71fb7
Loading
Loading
Loading
Loading
+24 −22
Original line number Original line Diff line number Diff line
@@ -1105,14 +1105,14 @@ final class AccessibilityController {
                        }
                        }
                    }
                    }


                    if (windowState.mAttrs.type !=
                            WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY) {

                        // Account for the space this window takes if the window
                        // Account for the space this window takes if the window
                        // is not an accessibility overlay which does not change
                        // is not an accessibility overlay which does not change
                        // the reported windows.
                        // the reported windows.
                    if (windowState.mAttrs.type !=
                            WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY) {
                        unaccountedSpace.op(boundsInScreen, unaccountedSpace,
                        unaccountedSpace.op(boundsInScreen, unaccountedSpace,
                                Region.Op.REVERSE_DIFFERENCE);
                                Region.Op.REVERSE_DIFFERENCE);
                    }


                        // If a window is modal it prevents other windows from being touched
                        // If a window is modal it prevents other windows from being touched
                        if ((flags & (WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
                        if ((flags & (WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
@@ -1134,6 +1134,8 @@ final class AccessibilityController {
                                break;
                                break;
                            }
                            }
                        }
                        }
                    }

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