From b7d947e7920b77946c8a0f5682a81b923282d58d Mon Sep 17 00:00:00 2001 From: Ming-Shin Lu Date: Mon, 21 Mar 2022 20:44:35 +0800 Subject: [PATCH] Revert "Fix a redundant assignRelativeLayerForIme case" This reverts commit f5b13525100ea66b112dcd01abc00c485e1082c8. Reason for revert: b/225028378#comment10 Fix: 225028378 Bug: 219774897 Test: manual as issue steps: 1) Open a WhatsApp conversation 2) Now open the keyboard and try to attach something 3) Expect the attachment menu should be visible on top of the IME Change-Id: I5770e03bc1f0834384ffab8591b1641be6bff4f2 --- .../core/java/com/android/server/wm/DisplayContent.java | 7 +------ .../wmtests/src/com/android/server/wm/ZOrderingTests.java | 3 +-- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index f5ace6c78288c..f4314570d0a02 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -129,7 +129,6 @@ import static com.android.server.wm.DisplayContentProto.ROOT_DISPLAY_AREA; import static com.android.server.wm.DisplayContentProto.SCREEN_ROTATION_ANIMATION; import static com.android.server.wm.DisplayContentProto.SLEEP_TOKENS; import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_APP_TRANSITION; -import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_RECENTS; import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_WINDOW_ANIMATION; import static com.android.server.wm.WindowContainer.AnimationFlags.PARENTS; import static com.android.server.wm.WindowContainer.AnimationFlags.TRANSITION; @@ -5011,11 +5010,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp ? mImeControlTarget.getWindow().mToken : null; 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.inMultiWindowMode(); if (canImeTargetSetRelativeLayer) { mImeWindowsContainer.assignRelativeLayer(t, imeTarget.getSurfaceControl(), // TODO: We need to use an extra level on the app surface to ensure diff --git a/services/tests/wmtests/src/com/android/server/wm/ZOrderingTests.java b/services/tests/wmtests/src/com/android/server/wm/ZOrderingTests.java index eea3f844b40ff..0f223ca037ee4 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ZOrderingTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ZOrderingTests.java @@ -293,8 +293,7 @@ public class ZOrderingTests extends WindowTestsBase { public void testAssignWindowLayers_ForImeWithAppTargetAndAppAbove() { final WindowState appBelowImeTarget = createWindow("appBelowImeTarget"); final WindowState imeAppTarget = createWindow("imeAppTarget"); - final WindowState appAboveImeTarget = createWindow(imeAppTarget, TYPE_APPLICATION, - "appAboveImeTarget"); + final WindowState appAboveImeTarget = createWindow("appAboveImeTarget"); mDisplayContent.setImeLayeringTarget(imeAppTarget); mDisplayContent.setImeControlTarget(imeAppTarget);