Revert "Fix a redundant assignRelativeLayerForIme case"

This reverts commit f5b1352510.

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
This commit is contained in:
Ming-Shin Lu
2022-03-21 20:44:35 +08:00
parent 44b2ae6375
commit b7d947e792
2 changed files with 2 additions and 8 deletions

View File

@@ -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

View File

@@ -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);