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

Commit c138c70e authored by Selim Cinek's avatar Selim Cinek Committed by android-build-merger
Browse files

Merge "Only calling finishedwhen all the animations have finished" into qt-qpr1-dev am: 29b8d32f

am: 258f5267

Change-Id: I59b4db75e287169105873bea69306f61ece88be7
parents 132a22a8 258f5267
Loading
Loading
Loading
Loading
+18 −0
Original line number Original line Diff line number Diff line
@@ -754,6 +754,16 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
    }
    }


    private void onFinished(Callback callback) {
    private void onFinished(Callback callback) {
        if (!hasReachedFinalState(mScrimBehind)
            || !hasReachedFinalState(mScrimInFront)
            || !hasReachedFinalState(mScrimForBubble)) {
            if (callback != null && callback != mCallback) {
                // Since we only notify the callback that we're finished once everything has
                // finished, we need to make sure that any changing callbacks are also invoked
                callback.onFinished();
            }
            return;
        }
        if (mWakeLockHeld) {
        if (mWakeLockHeld) {
            mWakeLock.release(TAG);
            mWakeLock.release(TAG);
            mWakeLockHeld = false;
            mWakeLockHeld = false;
@@ -773,7 +783,15 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
            mInFrontTint = Color.TRANSPARENT;
            mInFrontTint = Color.TRANSPARENT;
            mBehindTint = Color.TRANSPARENT;
            mBehindTint = Color.TRANSPARENT;
            mBubbleTint = Color.TRANSPARENT;
            mBubbleTint = Color.TRANSPARENT;
            updateScrimColor(mScrimInFront, mInFrontAlpha, mInFrontTint);
            updateScrimColor(mScrimBehind, mBehindAlpha, mBehindTint);
            updateScrimColor(mScrimForBubble, mBubbleAlpha, mBubbleTint);
        }
    }
    }

    private boolean hasReachedFinalState(ScrimView scrim) {
        return scrim.getViewAlpha() == getCurrentScrimAlpha(scrim)
                && scrim.getTint() == getCurrentScrimTint(scrim);
    }
    }


    private boolean isAnimating(View scrim) {
    private boolean isAnimating(View scrim) {
+1 −0
Original line number Original line Diff line number Diff line
@@ -433,6 +433,7 @@ public class ScrimControllerTest extends SysuiTestCase {
                TRANSPARENT /* behind */,
                TRANSPARENT /* behind */,
                TRANSPARENT /* bubble */);
                TRANSPARENT /* bubble */);


        // Make sure at the very end of the animation, we're reset to transparent
        assertScrimTint(false /* front */,
        assertScrimTint(false /* front */,
                false /* behind */,
                false /* behind */,
                false  /* bubble */);
                false  /* bubble */);