diff options
author | Adrian Roos <roosa@google.com> | 2014-08-15 23:17:05 +0200 |
---|---|---|
committer | Adrian Roos <roosa@google.com> | 2014-08-18 14:37:18 +0000 |
commit | d47ad033c35b2b69fc0be2073c682c30c855c124 (patch) | |
tree | 301762694701b225470f71f778a619f2b7f1d439 | |
parent | 95d9ad0f79c900db9bca1745100f14d0ec9cc133 (diff) | |
download | frameworks_base-d47ad033c35b2b69fc0be2073c682c30c855c124.zip frameworks_base-d47ad033c35b2b69fc0be2073c682c30c855c124.tar.gz frameworks_base-d47ad033c35b2b69fc0be2073c682c30c855c124.tar.bz2 |
Fix bars jumping to black on activity launch
During animations, the wallpaper crop is the
union of the start and end crop. This prevents
the system bars from jumping to black when an
activity with opaque bars is launched.
Bug: 16441036
Change-Id: Ic0f3bc2e83b9830514a3456a27ae6f23716f3240
-rw-r--r-- | services/core/java/com/android/server/wm/WindowStateAnimator.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java index 61c50d6..7bf090a 100644 --- a/services/core/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java @@ -1211,6 +1211,12 @@ class WindowStateAnimator { || w.mDecorFrame.isEmpty()) { // The universe background isn't cropped, nor windows without policy decor. w.mSystemDecorRect.set(0, 0, w.mCompatFrame.width(), w.mCompatFrame.height()); + } else if (w.mAttrs.type == LayoutParams.TYPE_WALLPAPER && mAnimator.mAnimating) { + // If we're animating, the wallpaper crop should only be updated at the end of the + // animation. + mTmpClipRect.set(w.mSystemDecorRect); + applyDecorRect(w.mDecorFrame); + w.mSystemDecorRect.union(mTmpClipRect); } else { // Crop to the system decor specified by policy. applyDecorRect(w.mDecorFrame); |