From 5f72c92e2b7b624e2b2f639a1b295a3a1f7fc47f Mon Sep 17 00:00:00 2001 From: Adrian Roos Date: Tue, 8 Mar 2016 15:54:26 -0800 Subject: [PATCH] Fix flashing of the scrim Bug: 27345657 Change-Id: I4a20d86c678a46159466b8f68fe8f429554be950 --- .../systemui/statusbar/phone/ScrimController.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java index fe76ae7515206..cafa566c94df6 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java @@ -89,6 +89,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, private boolean mForceHideScrims; private boolean mSkipFirstFrame; private boolean mDontAnimateBouncerChanges; + private boolean mKeyguardFadingOutInProgress; public ScrimController(ScrimView scrimBehind, ScrimView scrimInFront, View headsUpScrim, boolean scrimSrcEnabled) { @@ -331,12 +332,16 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, if (mOnAnimationFinished != null) { mOnAnimationFinished.run(); mOnAnimationFinished = null; + mKeyguardFadingOutInProgress = false; } scrim.setTag(TAG_KEY_ANIM, null); scrim.setTag(TAG_KEY_ANIM_TARGET, null); } }); anim.start(); + if (mAnimateKeyguardFadingOut) { + mKeyguardFadingOutInProgress = true; + } if (mSkipFirstFrame) { anim.setCurrentPlayTime(16); } @@ -371,6 +376,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, && mOnAnimationFinished != null) { mOnAnimationFinished.run(); mOnAnimationFinished = null; + mKeyguardFadingOutInProgress = false; } } @@ -423,6 +429,10 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, } private void updateScrim(boolean animate, View scrim, float alpha, float currentAlpha) { + if (mKeyguardFadingOutInProgress) { + return; + } + ValueAnimator previousAnimator = StackStateAnimator.getChildTag(scrim, TAG_KEY_ANIM); float animEndValue = -1;