diff options
| author | 2018-08-14 17:00:20 +0200 | |
|---|---|---|
| committer | 2018-10-02 15:38:31 +0200 | |
| commit | 35d328aeca08abc36a6ca8ec1cc7406dab5f63a8 (patch) | |
| tree | f0046abbd89cfdba88c1d692df0a7d1e93a53a11 | |
| parent | 5bdccba440f25a134de94ad3dcb454fe40e1f590 (diff) | |
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
9 files changed, 24 insertions, 131 deletions
diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java index 6da9f104a212..fc7610239fa3 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 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree 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 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree 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 9398c0f346a4..61635920f017 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 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo 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 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo 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 2b8493749c79..00cacebe2960 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 @@ public class TaskStack extends WindowContainer<Task> implements } 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 ddda027595da..e15b783b5606 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 @@ class WallpaperWindowToken extends WindowToken { 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 3f3d56309aab..b94ddebfe366 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 @@ public class WindowManagerService extends IWindowManager.Stub 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 db48c798987f..ad44c33e3092 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 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP + " 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 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP 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 1ba394ee9178..00599a03d2b9 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 @@ class WindowStateAnimator { 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 @@ class WindowStateAnimator { 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 @@ class WindowStateAnimator { * 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 @@ class WindowStateAnimator { } 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 @@ class WindowStateAnimator { 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 @@ class WindowStateAnimator { || mLastHidden) { displayed = true; mLastAlpha = mShownAlpha; - mLastLayer = mAnimLayer; mLastDsDx = mDsDx; mLastDtDx = mDtDx; mLastDsDy = mDsDy; @@ -1146,7 +1138,7 @@ class WindowStateAnimator { 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 @@ class WindowStateAnimator { 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 @@ class WindowStateAnimator { 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 d6f9ac3a3ab9..0b02fa3e49d7 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 @@ class WindowSurfacePlacer { 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 @@ class WindowSurfacePlacer { // 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 @@ class WindowSurfacePlacer { 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 @@ class WindowSurfacePlacer { 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 @@ class WindowSurfacePlacer { "<<< 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 @@ class WindowSurfacePlacer { 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 ab94d92f8976..fefd305bc6d6 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 @@ class WindowToken extends WindowContainer<WindowState> { 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! |