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

Commit f9e220f0 authored by Jorim Jaggi's avatar Jorim Jaggi Committed by Android (Google) Code Review
Browse files

Merge "Early out when window is no longer in hierarchy" into rvc-dev

parents 5895295d b895e20c
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -5330,7 +5330,9 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
            // this promotion.
            final WindowState imeTarget = getDisplayContent().mInputMethodTarget;
            boolean inTokenWithAndAboveImeTarget = imeTarget != null && imeTarget != this
                    && imeTarget.mToken == mToken && imeTarget.compareTo(this) <= 0;
                    && imeTarget.mToken == mToken
                    && getParent() != null
                    && imeTarget.compareTo(this) <= 0;
            return inTokenWithAndAboveImeTarget;
        }
        return false;
+12 −0
Original line number Diff line number Diff line
@@ -657,4 +657,16 @@ public class WindowStateTests extends WindowTestsBase {
        win0.mActivityRecord.getStack().setFocusable(false);
        assertTrue(win0.cantReceiveTouchInput());
    }

    @Test
    public void testNeedsRelativeLayeringToIme_notAttached() {
        WindowState sameTokenWindow = createWindow(null, TYPE_BASE_APPLICATION, mAppWindow.mToken,
                "SameTokenWindow");
        mDisplayContent.mInputMethodTarget = mAppWindow;
        sameTokenWindow.mActivityRecord.getStack().setWindowingMode(
                WINDOWING_MODE_SPLIT_SCREEN_PRIMARY);
        assertTrue(sameTokenWindow.needsRelativeLayeringToIme());
        sameTokenWindow.removeImmediately();
        assertFalse(sameTokenWindow.needsRelativeLayeringToIme());
    }
}