Loading services/core/java/com/android/server/wm/WindowState.java +1 −0 Original line number Diff line number Diff line Loading @@ -5426,6 +5426,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP final WindowState imeTarget = getDisplayContent().mInputMethodTarget; boolean inTokenWithAndAboveImeTarget = imeTarget != null && imeTarget != this && imeTarget.mToken == mToken && mAttrs.type != TYPE_APPLICATION_STARTING && getParent() != null && imeTarget.compareTo(this) <= 0; return inTokenWithAndAboveImeTarget; Loading services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java +10 −0 Original line number Diff line number Diff line Loading @@ -692,4 +692,14 @@ public class WindowStateTests extends WindowTestsBase { sameTokenWindow.removeImmediately(); assertFalse(sameTokenWindow.needsRelativeLayeringToIme()); } @Test public void testNeedsRelativeLayeringToIme_startingWindow() { WindowState sameTokenWindow = createWindow(null, TYPE_APPLICATION_STARTING, mAppWindow.mToken, "SameTokenWindow"); mDisplayContent.mInputMethodTarget = mAppWindow; sameTokenWindow.mActivityRecord.getStack().setWindowingMode( WINDOWING_MODE_SPLIT_SCREEN_PRIMARY); assertFalse(sameTokenWindow.needsRelativeLayeringToIme()); } } Loading
services/core/java/com/android/server/wm/WindowState.java +1 −0 Original line number Diff line number Diff line Loading @@ -5426,6 +5426,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP final WindowState imeTarget = getDisplayContent().mInputMethodTarget; boolean inTokenWithAndAboveImeTarget = imeTarget != null && imeTarget != this && imeTarget.mToken == mToken && mAttrs.type != TYPE_APPLICATION_STARTING && getParent() != null && imeTarget.compareTo(this) <= 0; return inTokenWithAndAboveImeTarget; Loading
services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java +10 −0 Original line number Diff line number Diff line Loading @@ -692,4 +692,14 @@ public class WindowStateTests extends WindowTestsBase { sameTokenWindow.removeImmediately(); assertFalse(sameTokenWindow.needsRelativeLayeringToIme()); } @Test public void testNeedsRelativeLayeringToIme_startingWindow() { WindowState sameTokenWindow = createWindow(null, TYPE_APPLICATION_STARTING, mAppWindow.mToken, "SameTokenWindow"); mDisplayContent.mInputMethodTarget = mAppWindow; sameTokenWindow.mActivityRecord.getStack().setWindowingMode( WINDOWING_MODE_SPLIT_SCREEN_PRIMARY); assertFalse(sameTokenWindow.needsRelativeLayeringToIme()); } }