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

Commit 1f192615 authored by Wale Ogunwale's avatar Wale Ogunwale
Browse files

Exclude IME dialogs from tap outside task bounds funcationality

We don't want tapping on these windows to cause a change in app
focus.

Bug: 28184155
Change-Id: Ibd4ca15b2154c2e83a11f4a2a3edb4356cbfbfed
parent 80953097
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -1805,6 +1805,16 @@ public class WindowManagerService extends IWindowManager.Stub
        return true;
    }

    private static boolean excludeWindowTypeFromTapOutTask(int windowType) {
        switch (windowType) {
            case TYPE_STATUS_BAR:
            case TYPE_NAVIGATION_BAR:
            case TYPE_INPUT_METHOD_DIALOG:
                return true;
        }
        return false;
    }

    public int addWindow(Session session, IWindow client, int seq,
            WindowManager.LayoutParams attrs, int viewVisibility, int displayId,
            Rect outContentInsets, Rect outStableInsets, Rect outOutsets,
@@ -2003,7 +2013,7 @@ public class WindowManagerService extends IWindowManager.Stub

            res = WindowManagerGlobal.ADD_OKAY;

            if (type == TYPE_STATUS_BAR || type == TYPE_NAVIGATION_BAR) {
            if (excludeWindowTypeFromTapOutTask(type)) {
                displayContent.mTapExcludedWindows.add(win);
            }

@@ -2395,7 +2405,7 @@ public class WindowManagerService extends IWindowManager.Stub
        }

        final int type = win.mAttrs.type;
        if (type == TYPE_STATUS_BAR || type == TYPE_NAVIGATION_BAR) {
        if (excludeWindowTypeFromTapOutTask(type)) {
            final DisplayContent displaycontent = win.getDisplayContent();
            displaycontent.mTapExcludedWindows.remove(win);
        }