Don't set relative z of window to IME if starting window
If a window is a starting window, it shouldn't get relative z to IME since we don't want to change its z order. Test: Split screen with pip and opening new app in split Test: WindowStateTests#testNeedsRelativeLayeringToIme_startingWindow Fixes: 158762203 Change-Id: I0be39285a96bc6458e077b772d0315be6075e0b0
This commit is contained in:
@@ -5390,6 +5390,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;
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user