Merge "Early out when window is no longer in hierarchy" into rvc-dev am: f9e220f03d
Change-Id: I7fb77a88167e26f539a655b1397255f52b1891e5
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user