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 /services/core | |
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
Diffstat (limited to 'services/core')
-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); |