Remove WSA.mAnimLayer
Wasn't set at all. Can be safely removed without changing any
logic.
Also removes a bunch of other stuff that's not used.
Test: go/wm-smoke
Change-Id: I3fd9655817a42f5361659e9f78f651074b568075
diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java
index 6da9f10..fc76102 100644
--- a/services/core/java/com/android/server/wm/AppWindowToken.java
+++ b/services/core/java/com/android/server/wm/AppWindowToken.java
@@ -1632,17 +1632,6 @@
return null;
}
- int getLowestAnimLayer() {
- for (int i = 0; i < mChildren.size(); i++) {
- final WindowState w = mChildren.get(i);
- if (w.mRemoved) {
- continue;
- }
- return w.mWinAnimator.mAnimLayer;
- }
- return Integer.MAX_VALUE;
- }
-
WindowState getHighestAnimLayerWindow(WindowState currentTarget) {
WindowState candidate = null;
for (int i = mChildren.indexOf(currentTarget); i >= 0; i--) {
@@ -1650,8 +1639,7 @@
if (w.mRemoved) {
continue;
}
- if (candidate == null || w.mWinAnimator.mAnimLayer >
- candidate.mWinAnimator.mAnimLayer) {
+ if (candidate == null) {
candidate = w;
}
}
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index 9398c0f..6163592 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -2307,21 +2307,6 @@
mPinnedStackControllerLocked.setAdjustedForIme(imeVisible, imeHeight);
}
- /**
- * If a window that has an animation specifying a colored background and the current wallpaper
- * is visible, then the color goes *below* the wallpaper so we don't cause the wallpaper to
- * suddenly disappear.
- */
- int getLayerForAnimationBackground(WindowStateAnimator winAnimator) {
- final WindowState visibleWallpaper = mBelowAppWindowsContainers.getWindow(
- w -> w.mIsWallpaper && w.isVisibleNow());
-
- if (visibleWallpaper != null) {
- return visibleWallpaper.mWinAnimator.mAnimLayer;
- }
- return winAnimator.mAnimLayer;
- }
-
void prepareFreezingTaskBounds() {
for (int stackNdx = mTaskStackContainers.getChildCount() - 1; stackNdx >= 0; --stackNdx) {
final TaskStack stack = mTaskStackContainers.getChildAt(stackNdx);
@@ -2740,23 +2725,13 @@
if (highestTarget != null) {
final AppTransition appTransition = mService.mAppTransition;
if (DEBUG_INPUT_METHOD) Slog.v(TAG_WM, appTransition + " " + highestTarget
- + " animating=" + highestTarget.isAnimating()
- + " layer=" + highestTarget.mWinAnimator.mAnimLayer
- + " new layer=" + target.mWinAnimator.mAnimLayer);
+ + " animating=" + highestTarget.isAnimating());
- final boolean higherLayer =
- highestTarget.mWinAnimator.mAnimLayer > target.mWinAnimator.mAnimLayer;
if (appTransition.isTransitionSet()) {
// If we are currently setting up for an animation, hold everything until we
// can find out what will happen.
setInputMethodTarget(highestTarget, true);
return highestTarget;
- } else if (highestTarget.isAnimating() && higherLayer) {
- // If the window we are currently targeting is involved with an animation,
- // and it is on top of the next target we will be over, then hold off on
- // moving until that is done.
- setInputMethodTarget(highestTarget, true);
- return highestTarget;
}
}
}
diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java
index 2b84937..00caceb 100644
--- a/services/core/java/com/android/server/wm/TaskStack.java
+++ b/services/core/java/com/android/server/wm/TaskStack.java
@@ -1070,11 +1070,8 @@
}
void setAnimationBackground(WindowStateAnimator winAnimator, int color) {
- int animLayer = winAnimator.mAnimLayer;
- if (mAnimationBackgroundAnimator == null
- || animLayer < mAnimationBackgroundAnimator.mAnimLayer) {
+ if (mAnimationBackgroundAnimator == null) {
mAnimationBackgroundAnimator = winAnimator;
- animLayer = mDisplayContent.getLayerForAnimationBackground(winAnimator);
showAnimationSurface(((color >> 24) & 0xff) / 255f);
}
}
diff --git a/services/core/java/com/android/server/wm/WallpaperWindowToken.java b/services/core/java/com/android/server/wm/WallpaperWindowToken.java
index ddda027..e15b783 100644
--- a/services/core/java/com/android/server/wm/WallpaperWindowToken.java
+++ b/services/core/java/com/android/server/wm/WallpaperWindowToken.java
@@ -138,7 +138,7 @@
wallpaper.dispatchWallpaperVisibility(visible);
if (DEBUG_LAYERS || DEBUG_WALLPAPER_LIGHT) Slog.v(TAG, "adjustWallpaper win "
- + wallpaper + " anim layer: " + wallpaper.mWinAnimator.mAnimLayer);
+ + wallpaper);
}
}
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 3f3d563..b94ddeb 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -5569,11 +5569,7 @@
if (mode != UPDATE_FOCUS_WILL_ASSIGN_LAYERS
&& mode != UPDATE_FOCUS_WILL_PLACE_SURFACES) {
- final int prevImeAnimLayer =
- displayContent.mInputMethodWindow.mWinAnimator.mAnimLayer;
displayContent.assignWindowLayers(false /* setLayoutNeeded */);
- imWindowChanged |= prevImeAnimLayer
- != displayContent.mInputMethodWindow.mWinAnimator.mAnimLayer;
}
}
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index db48c79..ad44c33 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -3217,10 +3217,8 @@
+ " mWallpaperVisible=" + mWallpaperVisible);
}
if (dumpAll) {
- pw.println(prefix + "mBaseLayer=" + mBaseLayer
- + " mSubLayer=" + mSubLayer
- + " mAnimLayer=" + mLayer + "=" + mWinAnimator.mAnimLayer
- + " mLastLayer=" + mWinAnimator.mLastLayer);
+ pw.print(prefix); pw.print("mBaseLayer="); pw.print(mBaseLayer);
+ pw.print(" mSubLayer="); pw.print(mSubLayer);
}
if (dumpAll) {
pw.println(prefix + "mToken=" + mToken);
@@ -3750,18 +3748,6 @@
return windowInfo;
}
- int getHighestAnimLayer() {
- int highest = mWinAnimator.mAnimLayer;
- for (int i = mChildren.size() - 1; i >= 0; i--) {
- final WindowState c = mChildren.get(i);
- final int childLayer = c.getHighestAnimLayer();
- if (childLayer > highest) {
- highest = childLayer;
- }
- }
- return highest;
- }
-
@Override
boolean forAllWindows(ToBooleanFunction<WindowState> callback, boolean traverseTopToBottom) {
if (mChildren.isEmpty()) {
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java
index 1ba394e..00599a0 100644
--- a/services/core/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java
@@ -107,8 +107,6 @@
private final WallpaperController mWallpaperControllerLocked;
boolean mAnimationIsEntrance;
- int mAnimLayer;
- int mLastLayer;
/**
* Set when we have changed the size of the surface, to know that
@@ -135,7 +133,6 @@
float mLastAlpha = 0;
Rect mTmpClipRect = new Rect();
- Rect mTmpFinalClipRect = new Rect();
Rect mLastClipRect = new Rect();
Rect mLastFinalClipRect = new Rect();
Rect mTmpStackBounds = new Rect();
@@ -162,8 +159,6 @@
* window is first added or shown, cleared when the callback has been made. */
boolean mEnteringAnimation;
- private boolean mAnimationStartDelayed;
-
private final SurfaceControl.Transaction mTmpTransaction = new SurfaceControl.Transaction();
/** The pixel format of the underlying SurfaceControl */
@@ -532,14 +527,13 @@
}
if (WindowManagerService.localLOGV) Slog.v(TAG, "Got surface: " + mSurfaceController
- + ", set left=" + w.getFrameLw().left + " top=" + w.getFrameLw().top
- + ", animLayer=" + mAnimLayer);
+ + ", set left=" + w.getFrameLw().left + " top=" + w.getFrameLw().top);
if (SHOW_LIGHT_TRANSACTIONS) {
Slog.i(TAG, ">>> OPEN TRANSACTION createSurfaceLocked");
WindowManagerService.logSurface(w, "CREATE pos=("
+ w.getFrameLw().left + "," + w.getFrameLw().top + ") ("
- + width + "x" + height + "), layer=" + mAnimLayer + " HIDE", false);
+ + width + "x" + height + ")" + " HIDE", false);
}
mLastHidden = true;
@@ -1126,8 +1120,7 @@
if (DEBUG_ORIENTATION) Slog.v(TAG,
"Orientation change skips hidden " + w);
}
- } else if (mLastLayer != mAnimLayer
- || mLastAlpha != mShownAlpha
+ } else if (mLastAlpha != mShownAlpha
|| mLastDsDx != mDsDx
|| mLastDtDx != mDtDx
|| mLastDsDy != mDsDy
@@ -1137,7 +1130,6 @@
|| mLastHidden) {
displayed = true;
mLastAlpha = mShownAlpha;
- mLastLayer = mAnimLayer;
mLastDsDx = mDsDx;
mLastDtDx = mDtDx;
mLastDsDy = mDsDy;
@@ -1146,7 +1138,7 @@
w.mLastVScale = w.mVScale;
if (SHOW_TRANSACTIONS) WindowManagerService.logSurface(w,
"controller=" + mSurfaceController +
- "alpha=" + mShownAlpha + " layer=" + mAnimLayer
+ "alpha=" + mShownAlpha
+ " matrix=[" + mDsDx + "*" + w.mHScale
+ "," + mDtDx + "*" + w.mVScale
+ "][" + mDtDy + "*" + w.mHScale
@@ -1453,9 +1445,6 @@
pw.print(" mDtDy="); pw.print(mDtDy);
pw.print(" mDsDy="); pw.println(mDsDy);
}
- if (mAnimationStartDelayed) {
- pw.print(prefix); pw.print("mAnimationStartDelayed="); pw.print(mAnimationStartDelayed);
- }
}
@Override
@@ -1513,10 +1502,6 @@
mChildrenDetached = true;
}
- int getLayer() {
- return mLastLayer;
- }
-
void setOffsetPositionForStackResize(boolean offsetPositionForStackResize) {
mOffsetPositionForStackResize = offsetPositionForStackResize;
}
diff --git a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
index d6f9ac3..0b02fa3 100644
--- a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
+++ b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
@@ -99,12 +99,6 @@
private boolean mTraversalScheduled;
private int mDeferDepth = 0;
- private static final class LayerAndToken {
- public int layer;
- public AppWindowToken token;
- }
- private final LayerAndToken mTmpLayerAndToken = new LayerAndToken();
-
private final SparseIntArray mTempTransitionReasons = new SparseIntArray();
private final Runnable mPerformSurfacePlacement;
@@ -299,10 +293,16 @@
// done behind a dream window.
final ArraySet<Integer> activityTypes = collectActivityTypes(mService.mOpeningApps,
mService.mClosingApps);
- final AppWindowToken animLpToken = mService.mPolicy.allowAppAnimationsLw()
+ final boolean allowAnimations = mService.mPolicy.allowAppAnimationsLw();
+ final AppWindowToken animLpToken = allowAnimations
? findAnimLayoutParamsToken(transit, activityTypes)
: null;
-
+ final AppWindowToken topOpeningApp = allowAnimations
+ ? getTopApp(mService.mOpeningApps, false /* ignoreHidden */)
+ : null;
+ final AppWindowToken topClosingApp = allowAnimations
+ ? getTopApp(mService.mClosingApps, false /* ignoreHidden */)
+ : null;
final LayoutParams animLp = getAnimLp(animLpToken);
overrideWithRemoteAnimationIfSet(animLpToken, transit, activityTypes);
@@ -314,17 +314,14 @@
try {
processApplicationsAnimatingInPlace(transit);
- mTmpLayerAndToken.token = null;
- handleClosingApps(transit, animLp, voiceInteraction, mTmpLayerAndToken);
- final AppWindowToken topClosingApp = mTmpLayerAndToken.token;
- final AppWindowToken topOpeningApp = handleOpeningApps(transit, animLp,
- voiceInteraction);
+ handleClosingApps(transit, animLp, voiceInteraction);
+ handleOpeningApps(transit, animLp, voiceInteraction);
mService.mAppTransition.setLastAppTransition(transit, topOpeningApp, topClosingApp);
final int flags = mService.mAppTransition.getTransitFlags();
- layoutRedo = mService.mAppTransition.goodToGo(transit, topOpeningApp,
- topClosingApp, mService.mOpeningApps, mService.mClosingApps);
+ layoutRedo = mService.mAppTransition.goodToGo(transit, topOpeningApp, topClosingApp,
+ mService.mOpeningApps, mService.mClosingApps);
handleNonAppWindowsInTransition(transit, flags);
mService.mAppTransition.postAnimationCallback();
mService.mAppTransition.clear();
@@ -451,10 +448,7 @@
return false;
}
- private AppWindowToken handleOpeningApps(int transit, LayoutParams animLp,
- boolean voiceInteraction) {
- AppWindowToken topOpeningApp = null;
- int topOpeningLayer = Integer.MIN_VALUE;
+ private void handleOpeningApps(int transit, LayoutParams animLp, boolean voiceInteraction) {
final int appsCount = mService.mOpeningApps.size();
for (int i = 0; i < appsCount; i++) {
AppWindowToken wtoken = mService.mOpeningApps.valueAt(i);
@@ -479,24 +473,15 @@
"<<< CLOSE TRANSACTION handleAppTransitionReadyLocked()");
}
- if (animLp != null) {
- final int layer = wtoken.getHighestAnimLayer();
- if (topOpeningApp == null || layer > topOpeningLayer) {
- topOpeningApp = wtoken;
- topOpeningLayer = layer;
- }
- }
if (mService.mAppTransition.isNextAppTransitionThumbnailUp()) {
wtoken.attachThumbnailAnimation();
} else if (mService.mAppTransition.isNextAppTransitionOpenCrossProfileApps()) {
wtoken.attachCrossProfileAppsThumbnailAnimation();
}
}
- return topOpeningApp;
}
- private void handleClosingApps(int transit, LayoutParams animLp, boolean voiceInteraction,
- LayerAndToken layerAndToken) {
+ private void handleClosingApps(int transit, LayoutParams animLp, boolean voiceInteraction) {
final int appsCount;
appsCount = mService.mClosingApps.size();
for (int i = 0; i < appsCount; i++) {
@@ -519,13 +504,6 @@
wtoken.getController().removeStartingWindow();
}
- if (animLp != null) {
- int layer = wtoken.getHighestAnimLayer();
- if (layerAndToken.token == null || layer > layerAndToken.layer) {
- layerAndToken.token = wtoken;
- layerAndToken.layer = layer;
- }
- }
if (mService.mAppTransition.isNextAppTransitionThumbnailDown()) {
wtoken.attachThumbnailAnimation();
}
diff --git a/services/core/java/com/android/server/wm/WindowToken.java b/services/core/java/com/android/server/wm/WindowToken.java
index ab94d92..fefd305 100644
--- a/services/core/java/com/android/server/wm/WindowToken.java
+++ b/services/core/java/com/android/server/wm/WindowToken.java
@@ -235,18 +235,6 @@
return false;
}
- int getHighestAnimLayer() {
- int highest = -1;
- for (int j = 0; j < mChildren.size(); j++) {
- final WindowState w = mChildren.get(j);
- final int wLayer = w.getHighestAnimLayer();
- if (wLayer > highest) {
- highest = wLayer;
- }
- }
- return highest;
- }
-
AppWindowToken asAppWindowToken() {
// TODO: Not sure if this is the best way to handle this vs. using instanceof and casting.
// I am not an app window token!