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

Commit 05b3d95b authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Do not darken scrims when unlocking with fp" into pi-dev

parents 88074363 67f02633
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -126,6 +126,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener,
    private float mExpansionFraction = 1f;

    private boolean mDarkenWhileDragging;
    private boolean mExpansionAffectsAlpha = true;
    protected boolean mAnimateChange;
    private boolean mUpdatePending;
    private boolean mTracking;
@@ -381,6 +382,10 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener,
    }

    private void applyExpansionToAlpha() {
        if (!mExpansionAffectsAlpha) {
            return;
        }

        if (mState == ScrimState.UNLOCKED) {
            // Darken scrim as you pull down the shade when unlocked
            float behindFraction = getInterpolatedFraction();
@@ -912,6 +917,10 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener,
        mScreenOn = false;
    }

    public void setExpansionAffectsAlpha(boolean expansionAffectsAlpha) {
        mExpansionAffectsAlpha = expansionAffectsAlpha;
    }

    public interface Callback {
        default void onStart() {
        }
+5 −0
Original line number Diff line number Diff line
@@ -3688,6 +3688,7 @@ public class StatusBar extends SystemUI implements DemoMode,
    public void finishKeyguardFadingAway() {
        mKeyguardFadingAway = false;
        mKeyguardMonitor.notifyKeyguardDoneFading();
        mScrimController.setExpansionAffectsAlpha(true);
    }

    // TODO: Move this to NotificationLockscreenUserManager.
@@ -4618,6 +4619,10 @@ public class StatusBar extends SystemUI implements DemoMode,
        final boolean wakeAndUnlocking = mFingerprintUnlockController.getMode()
                == FingerprintUnlockController.MODE_WAKE_AND_UNLOCK;

        // Do not animate the scrim expansion when it's triggered by the fingerprint sensor.
        mScrimController.setExpansionAffectsAlpha(mFingerprintUnlockController.getMode()
                != FingerprintUnlockController.MODE_UNLOCK);

        if (mBouncerShowing) {
            mScrimController.transitionTo(
                    mIsOccluded ? ScrimState.BOUNCER_OCCLUDED : ScrimState.BOUNCER);
+19 −0
Original line number Diff line number Diff line
@@ -205,6 +205,25 @@ public class ScrimControllerTest extends SysuiTestCase {
        assertScrimVisibility(VISIBILITY_FULLY_TRANSPARENT, VISIBILITY_SEMI_TRANSPARENT);
    }

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

        final float scrimAlpha = mScrimBehind.getViewAlpha();
        mScrimController.setExpansionAffectsAlpha(false);
        mScrimController.setPanelExpansion(0.8f);
        Assert.assertEquals("Scrim opacity shouldn't change when setExpansionAffectsAlpha "
                + "is false", scrimAlpha, mScrimBehind.getViewAlpha(), 0.01f);

        mScrimController.setExpansionAffectsAlpha(true);
        mScrimController.setPanelExpansion(0.1f);
        Assert.assertNotEquals("Scrim opacity should change when setExpansionAffectsAlpha "
                + "is true", scrimAlpha, mScrimBehind.getViewAlpha(), 0.01f);
    }

    @Test
    public void transitionToUnlockedFromAod() {
        // Simulate unlock with fingerprint