summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chong Zhang <chz@google.com> 2016-05-18 20:57:29 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-05-18 20:57:30 +0000
commitff8ceadfc8c5f03da57420ad93a698cb0a57fcd9 (patch)
tree1865276a72d9faf926fed69e68a61eef53455d7a
parent7e745ec49c0458f92af65bf370770417dcc7075d (diff)
parentcbbcc0f79582b0157c03325074166da53e617c73 (diff)
Merge "Request a traversal when a saved surface gets redrawn" into nyc-dev
-rw-r--r--services/core/java/com/android/server/wm/WindowState.java4
-rw-r--r--services/core/java/com/android/server/wm/WindowStateAnimator.java6
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.