diff options
-rw-r--r-- | services/core/java/com/android/server/wm/WindowState.java | 4 | ||||
-rw-r--r-- | services/core/java/com/android/server/wm/WindowStateAnimator.java | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index c3f2367b53b7..25709548254f 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -2115,14 +2115,16 @@ final class WindowState implements WindowManagerPolicy.WindowState { mWasVisibleBeforeClientHidden = false; } - void clearAnimatingWithSavedSurface() { + boolean clearAnimatingWithSavedSurface() { if (mAnimatingWithSavedSurface) { // App has drawn something to its windows, we're no longer animating with // the saved surfaces. if (DEBUG_ANIM) Slog.d(TAG, "clearAnimatingWithSavedSurface(): win=" + this); mAnimatingWithSavedSurface = false; + return true; } + return false; } @Override diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java index 52273dced231..aa55f2751f4a 100644 --- a/services/core/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java @@ -585,7 +585,7 @@ class WindowStateAnimator { + drawStateToString()); } - mWin.clearAnimatingWithSavedSurface(); + boolean layoutNeeded = mWin.clearAnimatingWithSavedSurface(); if (mDrawState == DRAW_PENDING) { if (DEBUG_SURFACE_TRACE || DEBUG_ANIM || SHOW_TRANSACTIONS || DEBUG_ORIENTATION) @@ -595,10 +595,10 @@ class WindowStateAnimator { Slog.v(TAG, "Draw state now committed in " + mWin); } mDrawState = COMMIT_DRAW_PENDING; - return true; + layoutNeeded = true; } - return false; + return layoutNeeded; } // This must be called while inside a transaction. |