summaryrefslogtreecommitdiffstats
path: root/services/core
diff options
context:
space:
mode:
authorAdrian Roos <roosa@google.com>2014-08-15 23:17:05 +0200
committerAdrian Roos <roosa@google.com>2014-08-18 14:37:18 +0000
commitd47ad033c35b2b69fc0be2073c682c30c855c124 (patch)
tree301762694701b225470f71f778a619f2b7f1d439 /services/core
parent95d9ad0f79c900db9bca1745100f14d0ec9cc133 (diff)
downloadframeworks_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.java6
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);