Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f72c92e authored by Adrian Roos's avatar Adrian Roos
Browse files

Fix flashing of the scrim

Bug: 27345657
Change-Id: I4a20d86c678a46159466b8f68fe8f429554be950
parent c04cf4ba
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -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;