Loading services/core/java/com/android/server/wm/DisplayContent.java +4 −0 Original line number Diff line number Diff line Loading @@ -5009,6 +5009,10 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp final boolean canImeTargetSetRelativeLayer = imeTarget.getSurfaceControl() != null && imeTarget.mToken == imeControlTargetToken && !imeTarget.inMultiWindowMode() // We don't need to set relative layer if the IME target in non-multi-window // mode is the activity main window since updateImeParent will ensure the IME // surface be attached on the fullscreen activity. && imeTarget.mAttrs.type != TYPE_BASE_APPLICATION && imeTarget.mToken.getActivity(app -> app.isAnimating(TRANSITION | PARENTS, ANIMATION_TYPE_ALL & ~ANIMATION_TYPE_RECENTS)) == null; if (canImeTargetSetRelativeLayer) { Loading services/tests/wmtests/src/com/android/server/wm/ZOrderingTests.java +2 −1 Original line number Diff line number Diff line Loading @@ -293,7 +293,8 @@ public class ZOrderingTests extends WindowTestsBase { public void testAssignWindowLayers_ForImeWithAppTargetAndAppAbove() { final WindowState appBelowImeTarget = createWindow("appBelowImeTarget"); final WindowState imeAppTarget = createWindow("imeAppTarget"); final WindowState appAboveImeTarget = createWindow("appAboveImeTarget"); final WindowState appAboveImeTarget = createWindow(imeAppTarget, TYPE_APPLICATION, "appAboveImeTarget"); mDisplayContent.setImeLayeringTarget(imeAppTarget); mDisplayContent.setImeControlTarget(imeAppTarget); Loading Loading
services/core/java/com/android/server/wm/DisplayContent.java +4 −0 Original line number Diff line number Diff line Loading @@ -5009,6 +5009,10 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp final boolean canImeTargetSetRelativeLayer = imeTarget.getSurfaceControl() != null && imeTarget.mToken == imeControlTargetToken && !imeTarget.inMultiWindowMode() // We don't need to set relative layer if the IME target in non-multi-window // mode is the activity main window since updateImeParent will ensure the IME // surface be attached on the fullscreen activity. && imeTarget.mAttrs.type != TYPE_BASE_APPLICATION && imeTarget.mToken.getActivity(app -> app.isAnimating(TRANSITION | PARENTS, ANIMATION_TYPE_ALL & ~ANIMATION_TYPE_RECENTS)) == null; if (canImeTargetSetRelativeLayer) { Loading
services/tests/wmtests/src/com/android/server/wm/ZOrderingTests.java +2 −1 Original line number Diff line number Diff line Loading @@ -293,7 +293,8 @@ public class ZOrderingTests extends WindowTestsBase { public void testAssignWindowLayers_ForImeWithAppTargetAndAppAbove() { final WindowState appBelowImeTarget = createWindow("appBelowImeTarget"); final WindowState imeAppTarget = createWindow("imeAppTarget"); final WindowState appAboveImeTarget = createWindow("appAboveImeTarget"); final WindowState appAboveImeTarget = createWindow(imeAppTarget, TYPE_APPLICATION, "appAboveImeTarget"); mDisplayContent.setImeLayeringTarget(imeAppTarget); mDisplayContent.setImeControlTarget(imeAppTarget); Loading