From e88a3d379766a019d733beb467c8e32284dca0f9 Mon Sep 17 00:00:00 2001 From: Garfield Tan Date: Tue, 13 Dec 2022 14:20:11 -0800 Subject: [PATCH] Use task layer constants for window decor z-order Bug: 262403878 Test: Caption looks OK. Drag/resize work in desktop mode. Change-Id: I04c235ac427853205675ef9f16fe5ad082b5db16 --- .../wm/shell/windowdecor/WindowDecoration.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/WindowDecoration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/WindowDecoration.java index 92154968855f4..7f85988d13772 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/WindowDecoration.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/WindowDecoration.java @@ -33,6 +33,7 @@ import android.view.View; import android.view.ViewRootImpl; import android.view.WindowManager; import android.view.WindowlessWindowManager; +import android.window.TaskConstants; import android.window.WindowContainerTransaction; import com.android.wm.shell.ShellTaskOrganizer; @@ -195,7 +196,9 @@ public abstract class WindowDecoration .setParent(mTaskSurface) .build(); - startT.setTrustedOverlay(mDecorationContainerSurface, true); + startT.setTrustedOverlay(mDecorationContainerSurface, true) + .setLayer(mDecorationContainerSurface, + TaskConstants.TASK_CHILD_LAYER_WINDOW_DECORATIONS); } final Rect taskBounds = taskConfig.windowConfiguration.getBounds(); @@ -213,8 +216,6 @@ public abstract class WindowDecoration outResult.mDecorContainerOffsetX, outResult.mDecorContainerOffsetY) .setWindowCrop(mDecorationContainerSurface, outResult.mWidth, outResult.mHeight) - // TODO(b/244455401): Change the z-order when it's better organized - .setLayer(mDecorationContainerSurface, mTaskInfo.numActivities + 1) .show(mDecorationContainerSurface); // TaskBackgroundSurface @@ -225,6 +226,8 @@ public abstract class WindowDecoration .setEffectLayer() .setParent(mTaskSurface) .build(); + + startT.setLayer(mTaskBackgroundSurface, TaskConstants.TASK_CHILD_LAYER_TASK_BACKGROUND); } float shadowRadius = loadDimension(resources, params.mShadowRadiusId); @@ -236,8 +239,6 @@ public abstract class WindowDecoration taskBounds.height()) .setShadowRadius(mTaskBackgroundSurface, shadowRadius) .setColor(mTaskBackgroundSurface, mTmpColor) - // TODO(b/244455401): Change the z-order when it's better organized - .setLayer(mTaskBackgroundSurface, -1) .show(mTaskBackgroundSurface); // CaptionContainerSurface, CaptionWindowManager