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

Commit f4fcd5e0 authored by Lucas Dupin's avatar Lucas Dupin
Browse files

Revert "Fix opacity of expanded shade during transitions"

This reverts commit ee98ccb0.

Reason for revert: Causing b/73349375

Change-Id: Ie2cd15ed0522f7768035beb04853a6432be111a9
Fixes: 73349375
parent ee98ccb0
Loading
Loading
Loading
Loading
+30 −37
Original line number Diff line number Diff line
@@ -138,8 +138,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener,
    protected float mScrimBehindAlphaKeyguard = SCRIM_BEHIND_ALPHA_KEYGUARD;
    protected float mScrimBehindAlphaUnlocking = SCRIM_BEHIND_ALPHA_UNLOCKING;

    // Assuming the shade is expanded during initialization
    private float mExpansionFraction = 1f;
    private float mFraction;

    private boolean mDarkenWhileDragging;
    protected boolean mAnimateChange;
@@ -252,7 +251,6 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener,
        mCurrentBehindTint = state.getBehindTint();
        mCurrentInFrontAlpha = state.getFrontAlpha();
        mCurrentBehindAlpha = state.getBehindAlpha();
        applyExpansionToAlpha();

        // Cancel blanking transitions that were pending before we requested a new state
        if (mPendingFrameCallback != null) {
@@ -364,28 +362,9 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener,
     * @param fraction From 0 to 1 where 0 means collapse and 1 expanded.
     */
    public void setPanelExpansion(float fraction) {
        if (mExpansionFraction != fraction) {
            mExpansionFraction = fraction;
        if (mFraction != fraction) {
            mFraction = fraction;

            if (!(mState == ScrimState.UNLOCKED || mState == ScrimState.KEYGUARD)) {
                return;
            }

            applyExpansionToAlpha();

            if (mUpdatePending) {
                return;
            }

            if (mPinnedHeadsUpCount != 0) {
                updateHeadsUpScrim(false);
            }
            updateScrim(false /* animate */, mScrimInFront, mCurrentInFrontAlpha);
            updateScrim(false /* animate */, mScrimBehind, mCurrentBehindAlpha);
        }
    }

    private void applyExpansionToAlpha() {
            if (mState == ScrimState.UNLOCKED) {
                // Darken scrim as you pull down the shade when unlocked
                float behindFraction = getInterpolatedFraction();
@@ -393,6 +372,10 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener,
                mCurrentBehindAlpha = behindFraction * mScrimBehindAlphaKeyguard;
                mCurrentInFrontAlpha = 0;
            } else if (mState == ScrimState.KEYGUARD) {
                if (mUpdatePending) {
                    return;
                }

                // Either darken of make the scrim transparent when you
                // pull down the shade
                float interpolatedFract = getInterpolatedFraction();
@@ -405,6 +388,16 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener,
                            interpolatedFract);
                    mCurrentInFrontAlpha = 0;
                }
            } else {
                return;
            }

            if (mPinnedHeadsUpCount != 0) {
                updateHeadsUpScrim(false);
            }

            updateScrim(false /* animate */, mScrimInFront, mCurrentInFrontAlpha);
            updateScrim(false /* animate */, mScrimBehind, mCurrentBehindAlpha);
        }
    }

@@ -503,7 +496,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener,
    }

    private float getInterpolatedFraction() {
        float frac = mExpansionFraction;
        float frac = mFraction;
        // let's start this 20% of the way down the screen
        frac = frac * 1.2f - 0.2f;
        if (frac <= 0) {
@@ -832,7 +825,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener,
        } else {
            alpha = 1.0f - mTopHeadsUpDragAmount;
        }
        float expandFactor = (1.0f - mExpansionFraction);
        float expandFactor = (1.0f - mFraction);
        expandFactor = Math.max(expandFactor, 0.0f);
        return alpha * expandFactor;
    }
+0 −19
Original line number Diff line number Diff line
@@ -180,7 +180,6 @@ public class ScrimControllerTest extends SysuiTestCase {

    @Test
    public void transitionToUnlocked() {
        mScrimController.setPanelExpansion(0f);
        mScrimController.transitionTo(ScrimState.UNLOCKED);
        mScrimController.finishAnimationsImmediately();
        // Front scrim should be transparent
@@ -198,7 +197,6 @@ public class ScrimControllerTest extends SysuiTestCase {
    public void transitionToUnlockedFromAod() {
        // Simulate unlock with fingerprint
        mScrimController.transitionTo(ScrimState.AOD);
        mScrimController.setPanelExpansion(0f);
        mScrimController.finishAnimationsImmediately();
        mScrimController.transitionTo(ScrimState.UNLOCKED);
        // Immediately tinted after the transition starts
@@ -326,23 +324,6 @@ public class ScrimControllerTest extends SysuiTestCase {
        verify(mAlarmManager).cancel(any(AlarmManager.OnAlarmListener.class));
    }

    @Test
    public void testConservesExpansionOpacityAfterTransition() {
        mScrimController.transitionTo(ScrimState.UNLOCKED);
        mScrimController.setPanelExpansion(0.5f);
        mScrimController.finishAnimationsImmediately();

        final float expandedAlpha = mScrimBehind.getViewAlpha();

        mScrimController.transitionTo(ScrimState.BRIGHTNESS_MIRROR);
        mScrimController.finishAnimationsImmediately();
        mScrimController.transitionTo(ScrimState.UNLOCKED);
        mScrimController.finishAnimationsImmediately();

        Assert.assertEquals("Scrim expansion opacity wasn't conserved when transitioning back",
                expandedAlpha, mScrimBehind.getViewAlpha(), 0.01f);
    }

    private void assertScrimTint(ScrimView scrimView, boolean tinted) {
        final boolean viewIsTinted = scrimView.getTint() != Color.TRANSPARENT;
        final String name = scrimView == mScrimInFront ? "front" : "back";