diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index 96142a1bb29e8..008793c453bb0 100644 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -7685,8 +7685,6 @@ public class WindowManagerService extends IWindowManager.Stub } } - final boolean wasAnimating = w.mWasAnimating; - // If the window has moved due to its containing // content frame changing, then we'd like to animate // it. The checks here are ordered by what is least @@ -7705,8 +7703,13 @@ public class WindowManagerService extends IWindowManager.Stub w.mAnimDh = innerDh; } - // Execute animation. - final boolean nowAnimating = w.isAnimating(); + final boolean wasAnimating = w.mWasAnimating; + final boolean nowAnimating = w.mLocalAnimating; + + if (DEBUG_WALLPAPER) { + Slog.v(TAG, w + ": wasAnimating=" + wasAnimating + + ", nowAnimating=" + nowAnimating); + } // If this window is animating, make a note that we have // an animating window and take care of a request to run diff --git a/services/java/com/android/server/wm/WindowState.java b/services/java/com/android/server/wm/WindowState.java index fc435f71b4823..eeecad1da205d 100644 --- a/services/java/com/android/server/wm/WindowState.java +++ b/services/java/com/android/server/wm/WindowState.java @@ -982,7 +982,7 @@ final class WindowState implements WindowManagerPolicy.WindowState { boolean stepAnimationLocked(long currentTime) { // Save the animation state as it was before this step so WindowManagerService can tell if // we just started or just stopped animating by comparing mWasAnimating with isAnimating(). - mWasAnimating = isAnimating(); + mWasAnimating = mAnimating; if (!mService.mDisplayFrozen && mService.mPolicy.isScreenOnFully()) { // We will run animations as long as the display isn't frozen.