From 95d37cedff907c1aff1b0562d6c84a110313b655 Mon Sep 17 00:00:00 2001 From: Tony Huang Date: Wed, 11 Aug 2021 15:55:34 +0800 Subject: [PATCH] Fix pip or bubbles is under split divider In stage split, it always set the divider layer to top and it would Cover some layer it should not cover such as pip or bubbles. In legacy split, this ordering is handled by TDA but it cannot apply on stage split because it directly use WindowlessWindowManager without shell root. Fix it by simplify the layer ordering. Make divider layer as a fixed value. Normal task layer should always lower than it and always on top tasks layer count start from it so we can ensure always on top tasks higher than the divider. Also move some constants layer value to WindowManagerPolicyConstants for managerment and accessed by both wm-core and wm-shell. Fix: 194359996 Test: open a pip app and active stage split then drap the pip to divider. Test: Pass existing tests. Change-Id: I6e4002435be350872aec5fa154849ed6e9561ce0 --- .../view/WindowManagerPolicyConstants.java | 37 +++++++++++++++++++ .../android/wm/shell/apppairs/AppPair.java | 3 +- .../wm/shell/common/split/SplitLayout.java | 3 +- .../shell/splitscreen/StageCoordinator.java | 6 +-- .../transition/ScreenRotationAnimation.java | 14 +------ .../server/wm/AccessibilityController.java | 3 +- .../server/wm/InputManagerCallback.java | 5 ++- .../server/wm/ScreenRotationAnimation.java | 12 +----- .../android/server/wm/StrictModeFlash.java | 3 +- .../android/server/wm/TaskDisplayArea.java | 11 ++---- .../java/com/android/server/wm/Watermark.java | 3 +- .../server/wm/WindowManagerService.java | 22 +---------- .../com/android/server/wm/WindowState.java | 4 +- .../server/wm/WindowStateAnimator.java | 2 - 14 files changed, 63 insertions(+), 65 deletions(-) diff --git a/core/java/android/view/WindowManagerPolicyConstants.java b/core/java/android/view/WindowManagerPolicyConstants.java index bbef3e6aeefa3..e634d601c1f13 100644 --- a/core/java/android/view/WindowManagerPolicyConstants.java +++ b/core/java/android/view/WindowManagerPolicyConstants.java @@ -209,4 +209,41 @@ public interface WindowManagerPolicyConstants { return Integer.toString(why); } } + + /** + * How much to multiply the policy's type layer, to reserve room + * for multiple windows of the same type and Z-ordering adjustment + * with TYPE_LAYER_OFFSET. + */ + int TYPE_LAYER_MULTIPLIER = 10000; + + /** + * Offset from TYPE_LAYER_MULTIPLIER for moving a group of windows above + * or below others in the same layer. + */ + int TYPE_LAYER_OFFSET = 1000; + + /** + * How much to increment the layer for each window, to reserve room + * for effect surfaces between them. + */ + int WINDOW_LAYER_MULTIPLIER = 5; + + /** + * Animation thumbnail is as far as possible below the window above + * the thumbnail (or in other words as far as possible above the window + * below it). + */ + int LAYER_OFFSET_THUMBNAIL = WINDOW_LAYER_MULTIPLIER - 1; + + int SPLIT_DIVIDER_LAYER = TYPE_LAYER_MULTIPLIER * 3; + int WATERMARK_LAYER = TYPE_LAYER_MULTIPLIER * 100; + int STRICT_MODE_LAYER = TYPE_LAYER_MULTIPLIER * 101; + int WINDOW_FREEZE_LAYER = TYPE_LAYER_MULTIPLIER * 200; + + /** + * Layers for screen rotation animation. We put these layers above + * WINDOW_FREEZE_LAYER so that screen freeze will cover all windows. + */ + int SCREEN_FREEZE_LAYER_BASE = WINDOW_FREEZE_LAYER + TYPE_LAYER_MULTIPLIER; } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/apppairs/AppPair.java b/libs/WindowManager/Shell/src/com/android/wm/shell/apppairs/AppPair.java index 8405385e174ee..3800b8d234f3f 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/apppairs/AppPair.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/apppairs/AppPair.java @@ -19,6 +19,7 @@ package com.android.wm.shell.apppairs; import static android.app.ActivityTaskManager.INVALID_TASK_ID; import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW; import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED; +import static android.view.WindowManagerPolicyConstants.SPLIT_DIVIDER_LAYER; import static com.android.wm.shell.common.split.SplitLayout.SPLIT_POSITION_BOTTOM_OR_RIGHT; import static com.android.wm.shell.common.split.SplitLayout.SPLIT_POSITION_TOP_OR_LEFT; @@ -181,7 +182,7 @@ class AppPair implements ShellTaskOrganizer.TaskListener, SplitLayout.SplitLayou // TODO: Is there more we need to do here? mSyncQueue.runInSync(t -> { - t.setLayer(dividerLeash, Integer.MAX_VALUE) + t.setLayer(dividerLeash, SPLIT_DIVIDER_LAYER) .setPosition(mTaskLeash1, mTaskInfo1.positionInParent.x, mTaskInfo1.positionInParent.y) .setPosition(mTaskLeash2, mTaskInfo2.positionInParent.x, diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java index 569cc1fe7467c..c32dddf6dca0c 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java @@ -23,6 +23,7 @@ import static android.view.WindowManager.DOCKED_INVALID; import static android.view.WindowManager.DOCKED_LEFT; import static android.view.WindowManager.DOCKED_RIGHT; import static android.view.WindowManager.DOCKED_TOP; +import static android.view.WindowManagerPolicyConstants.SPLIT_DIVIDER_LAYER; import static com.android.internal.policy.DividerSnapAlgorithm.SnapTarget.FLAG_DISMISS_END; import static com.android.internal.policy.DividerSnapAlgorithm.SnapTarget.FLAG_DISMISS_START; @@ -365,7 +366,7 @@ public final class SplitLayout { if (dividerLeash != null) { t.setPosition(dividerLeash, mDividerBounds.left, mDividerBounds.top); // Resets layer of divider bar to make sure it is always on top. - t.setLayer(dividerLeash, Integer.MAX_VALUE); + t.setLayer(dividerLeash, SPLIT_DIVIDER_LAYER); } t.setPosition(leash1, mBounds1.left, mBounds1.top) .setWindowCrop(leash1, mBounds1.width(), mBounds1.height()); diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java index e2cba4899c452..736fae41f2ed2 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java @@ -25,6 +25,7 @@ import static android.view.WindowManager.TRANSIT_OPEN; import static android.view.WindowManager.TRANSIT_TO_BACK; import static android.view.WindowManager.TRANSIT_TO_FRONT; import static android.view.WindowManager.transitTypeToString; +import static android.view.WindowManagerPolicyConstants.SPLIT_DIVIDER_LAYER; import static com.android.internal.util.FrameworkStatsLog.SPLITSCREEN_UICHANGED__EXIT_REASON__APP_DOES_NOT_SUPPORT_MULTIWINDOW; import static com.android.internal.util.FrameworkStatsLog.SPLITSCREEN_UICHANGED__EXIT_REASON__APP_FINISHED; @@ -88,7 +89,6 @@ import com.android.wm.shell.common.SyncTransactionQueue; import com.android.wm.shell.common.TransactionPool; import com.android.wm.shell.common.split.SplitLayout; import com.android.wm.shell.common.split.SplitLayout.SplitPosition; -import com.android.wm.shell.common.split.SplitWindowManager; import com.android.wm.shell.protolog.ShellProtoLogGroup; import com.android.wm.shell.transition.Transitions; @@ -696,7 +696,7 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler, if (mDividerVisible) { t.show(dividerLeash) - .setLayer(dividerLeash, Integer.MAX_VALUE) + .setLayer(dividerLeash, SPLIT_DIVIDER_LAYER) .setPosition(dividerLeash, mSplitLayout.getDividerBounds().left, mSplitLayout.getDividerBounds().top); @@ -1133,7 +1133,7 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler, // Be default, make it visible. The remote animator can adjust alpha if it plans to animate. if (show) { t.setAlpha(leash, 1.f); - t.setLayer(leash, Integer.MAX_VALUE); + t.setLayer(leash, SPLIT_DIVIDER_LAYER); t.setPosition(leash, bounds.left, bounds.top); t.show(leash); } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/ScreenRotationAnimation.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/ScreenRotationAnimation.java index a13b03d91cdf5..ada2ed27c114e 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/ScreenRotationAnimation.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/ScreenRotationAnimation.java @@ -19,6 +19,7 @@ package com.android.wm.shell.transition; import static android.hardware.HardwareBuffer.RGBA_8888; import static android.hardware.HardwareBuffer.USAGE_PROTECTED_CONTENT; import static android.util.RotationUtils.deltaRotation; +import static android.view.WindowManagerPolicyConstants.SCREEN_FREEZE_LAYER_BASE; import static com.android.wm.shell.transition.DefaultTransitionHandler.startSurfaceAnimation; import static com.android.wm.shell.transition.Transitions.TAG; @@ -81,19 +82,6 @@ import java.util.Arrays; * */ class ScreenRotationAnimation { - - /** How much to multiply the policy's type layer, to reserve room - * for multiple windows of the same type and Z-ordering adjustment - * with TYPE_LAYER_OFFSET. */ - static final int TYPE_LAYER_MULTIPLIER = 10000; - static final int WINDOW_FREEZE_LAYER = TYPE_LAYER_MULTIPLIER * 200; - - /* - * Layers for screen rotation animation. We put these layers above - * WINDOW_FREEZE_LAYER so that screen freeze will cover all windows. - */ - private static final int SCREEN_FREEZE_LAYER_BASE = WINDOW_FREEZE_LAYER + TYPE_LAYER_MULTIPLIER; - static final int MAX_ANIMATION_DURATION = 10 * 1000; private final Context mContext; diff --git a/services/core/java/com/android/server/wm/AccessibilityController.java b/services/core/java/com/android/server/wm/AccessibilityController.java index 54d97eea15211..f1644e9cfa5ac 100644 --- a/services/core/java/com/android/server/wm/AccessibilityController.java +++ b/services/core/java/com/android/server/wm/AccessibilityController.java @@ -88,6 +88,7 @@ import android.view.SurfaceControl; import android.view.ViewConfiguration; import android.view.WindowInfo; import android.view.WindowManager; +import android.view.WindowManagerPolicyConstants; import android.view.animation.DecelerateInterpolator; import android.view.animation.Interpolator; @@ -1200,7 +1201,7 @@ final class AccessibilityController { final SurfaceControl.Transaction t = mService.mTransactionFactory.get(); final int layer = mService.mPolicy.getWindowLayerFromTypeLw(TYPE_MAGNIFICATION_OVERLAY) * - WindowManagerService.TYPE_LAYER_MULTIPLIER; + WindowManagerPolicyConstants.TYPE_LAYER_MULTIPLIER; t.setLayer(mSurfaceControl, layer).setPosition(mSurfaceControl, 0, 0); InputMonitor.setTrustedOverlayInputInfo(mSurfaceControl, t, mDisplayContent.getDisplayId(), "Magnification Overlay"); diff --git a/services/core/java/com/android/server/wm/InputManagerCallback.java b/services/core/java/com/android/server/wm/InputManagerCallback.java index aa7e6c9c80fc5..18a2c601f6d34 100644 --- a/services/core/java/com/android/server/wm/InputManagerCallback.java +++ b/services/core/java/com/android/server/wm/InputManagerCallback.java @@ -30,6 +30,7 @@ import android.util.Slog; import android.view.InputApplicationHandle; import android.view.KeyEvent; import android.view.WindowManager; +import android.view.WindowManagerPolicyConstants; import com.android.internal.util.function.pooled.PooledLambda; import com.android.server.input.InputManagerService; @@ -181,8 +182,8 @@ final class InputManagerCallback implements InputManagerService.WindowManagerCal @Override public int getPointerLayer() { return mService.mPolicy.getWindowLayerFromTypeLw(WindowManager.LayoutParams.TYPE_POINTER) - * WindowManagerService.TYPE_LAYER_MULTIPLIER - + WindowManagerService.TYPE_LAYER_OFFSET; + * WindowManagerPolicyConstants.TYPE_LAYER_MULTIPLIER + + WindowManagerPolicyConstants.TYPE_LAYER_OFFSET; } /** Callback to get pointer display id. */ diff --git a/services/core/java/com/android/server/wm/ScreenRotationAnimation.java b/services/core/java/com/android/server/wm/ScreenRotationAnimation.java index 58363f2316ea4..d440a14d61993 100644 --- a/services/core/java/com/android/server/wm/ScreenRotationAnimation.java +++ b/services/core/java/com/android/server/wm/ScreenRotationAnimation.java @@ -18,6 +18,7 @@ package com.android.server.wm; import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER; import static android.util.RotationUtils.deltaRotation; +import static android.view.WindowManagerPolicyConstants.SCREEN_FREEZE_LAYER_BASE; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ORIENTATION; import static com.android.internal.protolog.ProtoLogGroup.WM_SHOW_SURFACE_ALLOC; @@ -30,8 +31,6 @@ import static com.android.server.wm.ScreenRotationAnimationProto.STARTED; import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_SCREEN_ROTATION; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; -import static com.android.server.wm.WindowManagerService.TYPE_LAYER_MULTIPLIER; -import static com.android.server.wm.WindowStateAnimator.WINDOW_FREEZE_LAYER; import android.animation.ArgbEvaluator; import android.content.Context; @@ -91,13 +90,6 @@ import java.io.PrintWriter; class ScreenRotationAnimation { private static final String TAG = TAG_WITH_CLASS_NAME ? "ScreenRotationAnimation" : TAG_WM; - /* - * Layers for screen rotation animation. We put these layers above - * WINDOW_FREEZE_LAYER so that screen freeze will cover all windows. - */ - private static final int SCREEN_FREEZE_LAYER_BASE = WINDOW_FREEZE_LAYER + TYPE_LAYER_MULTIPLIER; - private static final int SCREEN_FREEZE_LAYER_ENTER = SCREEN_FREEZE_LAYER_BASE; - private final Context mContext; private final DisplayContent mDisplayContent; private final float[] mTmpFloats = new float[9]; @@ -423,7 +415,7 @@ class ScreenRotationAnimation { finalWidth * 2, finalHeight * 2); Rect inner = new Rect(0, 0, finalWidth, finalHeight); mEnteringBlackFrame = new BlackFrame(mService.mTransactionFactory, t, outer, inner, - SCREEN_FREEZE_LAYER_ENTER, mDisplayContent, false, mEnterBlackFrameLayer); + SCREEN_FREEZE_LAYER_BASE, mDisplayContent, false, mEnterBlackFrameLayer); } catch (OutOfResourcesException e) { Slog.w(TAG, "Unable to allocate black surface", e); } diff --git a/services/core/java/com/android/server/wm/StrictModeFlash.java b/services/core/java/com/android/server/wm/StrictModeFlash.java index 48a7bdec2b948..cdf6b08b1c571 100644 --- a/services/core/java/com/android/server/wm/StrictModeFlash.java +++ b/services/core/java/com/android/server/wm/StrictModeFlash.java @@ -27,6 +27,7 @@ import android.graphics.Rect; import android.view.Surface; import android.view.Surface.OutOfResourcesException; import android.view.SurfaceControl; +import android.view.WindowManagerPolicyConstants; class StrictModeFlash { private static final String TAG = TAG_WITH_CLASS_NAME ? "StrictModeFlash" : TAG_WM; @@ -52,7 +53,7 @@ class StrictModeFlash { .build(); // one more than Watermark? arbitrary. - t.setLayer(ctrl, WindowManagerService.TYPE_LAYER_MULTIPLIER * 101); + t.setLayer(ctrl, WindowManagerPolicyConstants.STRICT_MODE_LAYER); t.setPosition(ctrl, 0, 0); t.show(ctrl); // Ensure we aren't considered as obscuring for Input purposes. diff --git a/services/core/java/com/android/server/wm/TaskDisplayArea.java b/services/core/java/com/android/server/wm/TaskDisplayArea.java index cfad93692f099..c7ca180bfa14e 100644 --- a/services/core/java/com/android/server/wm/TaskDisplayArea.java +++ b/services/core/java/com/android/server/wm/TaskDisplayArea.java @@ -32,6 +32,7 @@ import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_BEHIND; import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSET; import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED; import static android.content.res.Configuration.ORIENTATION_LANDSCAPE; +import static android.view.WindowManagerPolicyConstants.SPLIT_DIVIDER_LAYER; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ORIENTATION; import static com.android.server.wm.ActivityRecord.State.RESUMED; @@ -112,7 +113,6 @@ final class TaskDisplayArea extends DisplayArea { private final ArrayList mTmpNormalChildren = new ArrayList<>(); private final ArrayList mTmpHomeChildren = new ArrayList<>(); private final IntArray mTmpNeedsZBoostIndexes = new IntArray(); - private int mTmpLayerForSplitScreenDividerAnchor; private int mTmpLayerForAnimationLayer; private ArrayList mTmpTasks = new ArrayList<>(); @@ -855,26 +855,23 @@ final class TaskDisplayArea extends DisplayArea { layer = adjustRootTaskLayer(t, mTmpHomeChildren, layer, false /* normalRootTasks */); // The home animation layer is between the root home tasks and the normal root tasks. final int layerForHomeAnimationLayer = layer++; - mTmpLayerForSplitScreenDividerAnchor = layer++; mTmpLayerForAnimationLayer = layer++; layer = adjustRootTaskLayer(t, mTmpNormalChildren, layer, true /* normalRootTasks */); // The boosted animation layer is between the normal root tasks and the always on top // root tasks. final int layerForBoostedAnimationLayer = layer++; + // Always on top tasks layer should higher than split divider layer so set it as start. + layer = SPLIT_DIVIDER_LAYER + 1; adjustRootTaskLayer(t, mTmpAlwaysOnTopChildren, layer, false /* normalRootTasks */); t.setLayer(mHomeAppAnimationLayer, layerForHomeAnimationLayer); t.setLayer(mAppAnimationLayer, mTmpLayerForAnimationLayer); - t.setLayer(mSplitScreenDividerAnchor, mTmpLayerForSplitScreenDividerAnchor); + t.setLayer(mSplitScreenDividerAnchor, SPLIT_DIVIDER_LAYER); t.setLayer(mBoostedAppAnimationLayer, layerForBoostedAnimationLayer); } private int adjustNormalRootTaskLayer(WindowContainer child, int layer) { - if (child.asTask() != null && child.inSplitScreenWindowingMode()) { - // The split screen divider anchor is located above the split screen window. - mTmpLayerForSplitScreenDividerAnchor = layer++; - } if ((child.asTask() != null && child.asTask().isAnimatingByRecents()) || child.isAppTransitioning()) { // The animation layer is located above the highest animating root task and no diff --git a/services/core/java/com/android/server/wm/Watermark.java b/services/core/java/com/android/server/wm/Watermark.java index 66ab094f0994d..9780d3317e119 100644 --- a/services/core/java/com/android/server/wm/Watermark.java +++ b/services/core/java/com/android/server/wm/Watermark.java @@ -31,6 +31,7 @@ import android.util.TypedValue; import android.view.Surface; import android.view.Surface.OutOfResourcesException; import android.view.SurfaceControl; +import android.view.WindowManagerPolicyConstants; /** * Displays a watermark on top of the window manager's windows. @@ -117,7 +118,7 @@ class Watermark { .setFormat(PixelFormat.TRANSLUCENT) .setCallsite(TITLE) .build(); - t.setLayer(ctrl, WindowManagerService.TYPE_LAYER_MULTIPLIER * 100) + t.setLayer(ctrl, WindowManagerPolicyConstants.WATERMARK_LAYER) .setPosition(ctrl, 0, 0) .show(ctrl); // Ensure we aren't considered as obscuring for Input purposes. diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index f4534933858e6..81f9f6f42c039 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -85,6 +85,7 @@ import static android.view.WindowManagerGlobal.ADD_OKAY; import static android.view.WindowManagerGlobal.RELAYOUT_RES_BLAST_SYNC; import static android.view.WindowManagerGlobal.RELAYOUT_RES_SURFACE_CHANGED; import static android.view.WindowManagerPolicyConstants.NAV_BAR_INVALID; +import static android.view.WindowManagerPolicyConstants.TYPE_LAYER_MULTIPLIER; import static android.view.displayhash.DisplayHashResultCallback.DISPLAY_HASH_ERROR_MISSING_WINDOW; import static android.view.displayhash.DisplayHashResultCallback.DISPLAY_HASH_ERROR_NOT_VISIBLE_ON_SCREEN; import static android.window.WindowProviderService.isWindowProviderService; @@ -340,27 +341,6 @@ public class WindowManagerService extends IWindowManager.Stub static final boolean PROFILE_ORIENTATION = false; - /** How much to multiply the policy's type layer, to reserve room - * for multiple windows of the same type and Z-ordering adjustment - * with TYPE_LAYER_OFFSET. */ - static final int TYPE_LAYER_MULTIPLIER = 10000; - - /** Offset from TYPE_LAYER_MULTIPLIER for moving a group of windows above - * or below others in the same layer. */ - static final int TYPE_LAYER_OFFSET = 1000; - - /** How much to increment the layer for each window, to reserve room - * for effect surfaces between them. - */ - static final int WINDOW_LAYER_MULTIPLIER = 5; - - /** - * Animation thumbnail is as far as possible below the window above - * the thumbnail (or in other words as far as possible above the window - * below it). - */ - static final int LAYER_OFFSET_THUMBNAIL = WINDOW_LAYER_MULTIPLIER - 1; - /** The maximum length we will accept for a loaded animation duration: * this is 10 seconds. */ diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 0091b618696e2..1ca0c7eb8aba6 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -107,6 +107,8 @@ import static android.view.WindowManager.LayoutParams.isSystemAlertWindowType; import static android.view.WindowManagerGlobal.RELAYOUT_RES_DRAG_RESIZING_DOCKED; import static android.view.WindowManagerGlobal.RELAYOUT_RES_DRAG_RESIZING_FREEFORM; import static android.view.WindowManagerGlobal.RELAYOUT_RES_FIRST_TIME; +import static android.view.WindowManagerPolicyConstants.TYPE_LAYER_MULTIPLIER; +import static android.view.WindowManagerPolicyConstants.TYPE_LAYER_OFFSET; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ADD_REMOVE; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_APP_TRANSITIONS; @@ -153,8 +155,6 @@ import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import static com.android.server.wm.WindowManagerService.H.WINDOW_STATE_BLAST_SYNC_TIMEOUT; import static com.android.server.wm.WindowManagerService.MAX_ANIMATION_DURATION; -import static com.android.server.wm.WindowManagerService.TYPE_LAYER_MULTIPLIER; -import static com.android.server.wm.WindowManagerService.TYPE_LAYER_OFFSET; import static com.android.server.wm.WindowManagerService.UPDATE_FOCUS_NORMAL; import static com.android.server.wm.WindowManagerService.UPDATE_FOCUS_REMOVING_FOCUS; import static com.android.server.wm.WindowManagerService.UPDATE_FOCUS_WILL_PLACE_SURFACES; diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java index 80941961cc5ac..f25706a97fb63 100644 --- a/services/core/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java @@ -41,7 +41,6 @@ import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_VISIBILITY; import static com.android.server.wm.WindowManagerDebugConfig.SHOW_LIGHT_TRANSACTIONS; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; -import static com.android.server.wm.WindowManagerService.TYPE_LAYER_MULTIPLIER; import static com.android.server.wm.WindowManagerService.logWithStack; import static com.android.server.wm.WindowStateAnimatorProto.DRAW_STATE; import static com.android.server.wm.WindowStateAnimatorProto.SURFACE; @@ -71,7 +70,6 @@ import java.io.PrintWriter; **/ class WindowStateAnimator { static final String TAG = TAG_WITH_CLASS_NAME ? "WindowStateAnimator" : TAG_WM; - static final int WINDOW_FREEZE_LAYER = TYPE_LAYER_MULTIPLIER * 200; static final int PRESERVED_SURFACE_LAYER = 1; /**