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

Commit f171d197 authored by Jorim Jaggi's avatar Jorim Jaggi Committed by Automerger Merge Worker
Browse files

Merge "Early out when window is no longer in hierarchy" into rvc-dev am: f9e220f0 am: fcf684d3

Change-Id: Ia253957353dbb8ab26603bbd17a717f8a4edda23
parents 497ad8eb fcf684d3
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -5330,7 +5330,9 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
            // this promotion.
            // this promotion.
            final WindowState imeTarget = getDisplayContent().mInputMethodTarget;
            final WindowState imeTarget = getDisplayContent().mInputMethodTarget;
            boolean inTokenWithAndAboveImeTarget = imeTarget != null && imeTarget != this
            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 inTokenWithAndAboveImeTarget;
        }
        }
        return false;
        return false;
+12 −0
Original line number Original line Diff line number Diff line
@@ -657,4 +657,16 @@ public class WindowStateTests extends WindowTestsBase {
        win0.mActivityRecord.getStack().setFocusable(false);
        win0.mActivityRecord.getStack().setFocusable(false);
        assertTrue(win0.cantReceiveTouchInput());
        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());
    }
}
}