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

Commit 148d62f8 authored by Beverly's avatar Beverly Committed by Beverly Tai
Browse files

Update unpaused udfps alpha when showing udfps bouncer

This will make sure the alpha is updated correctly before
showing the udfps affordance.

This CL also updates the dumpsys to be more accurate of the
actual alpha value being used.

Test: manual, atest UdfpsKeyguardViewControllerTest
Bug: 197160246
Change-Id: I86a73dacfd2fc4f5b910e1e1e4f6535e91d00da3
parent e454d516
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -155,6 +155,13 @@ public class UdfpsKeyguardView extends UdfpsAnimationView {
        updateAlpha();
    }

    /**
     * @return alpha between 0 and 255
     */
    int getUnpausedAlpha() {
        return mAlpha;
    }

    @Override
    protected int updateAlpha() {
        int alpha = super.updateAlpha();
+6 −3
Original line number Diff line number Diff line
@@ -163,7 +163,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
        pw.println("mIsBouncerVisible=" + mIsBouncerVisible);
        pw.println("mInputBouncerHiddenAmount=" + mInputBouncerHiddenAmount);
        pw.println("mStatusBarExpansion=" + mStatusBarExpansion);
        pw.println("mAlpha=" + mView.getAlpha());
        pw.println("unpausedAlpha=" + mView.getUnpausedAlpha());
        pw.println("mUdfpsRequested=" + mUdfpsRequested);
        pw.println("mView.mUdfpsRequested=" + mView.mUdfpsRequested);
        pw.println("mLaunchTransitionFadingAway=" + mLaunchTransitionFadingAway);
@@ -178,13 +178,13 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
            return false;
        }

        boolean udfpsAffordanceWasNotShowing = shouldPauseAuth();
        mShowingUdfpsBouncer = show;
        if (mShowingUdfpsBouncer) {
            mLastUdfpsBouncerShowTime = mSystemClock.uptimeMillis();
        }
        updatePauseAuth();
        if (mShowingUdfpsBouncer) {
            if (mStatusBarState == StatusBarState.SHADE_LOCKED) {
            if (udfpsAffordanceWasNotShowing) {
                mView.animateInUdfpsBouncer(null);
            }

@@ -197,6 +197,8 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
        } else {
            mKeyguardUpdateMonitor.requestFaceAuthOnOccludingApp(false);
        }
        updateAlpha();
        updatePauseAuth();
        return true;
    }

@@ -330,6 +332,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
                public void requestUdfps(boolean request, int color) {
                    mUdfpsRequested = request;
                    mView.requestUdfps(request, color);
                    updateAlpha();
                    updatePauseAuth();
                }

+19 −0
Original line number Diff line number Diff line
@@ -369,6 +369,25 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase {
        verify(mView).setUnpausedAlpha(0);
    }

    @Test
    public void testShowUdfpsBouncer() {
        // GIVEN view is attached and status bar expansion is 0
        mController.onViewAttached();
        captureExpansionListeners();
        captureKeyguardStateControllerCallback();
        captureAltAuthInterceptor();
        updateStatusBarExpansion(0, true);
        reset(mView);
        when(mView.getContext()).thenReturn(mResourceContext);
        when(mResourceContext.getString(anyInt())).thenReturn("test string");

        // WHEN status bar expansion is 0 but udfps bouncer is requested
        mAltAuthInterceptor.showAlternateAuthBouncer();

        // THEN alpha is 0
        verify(mView).setUnpausedAlpha(255);
    }

    private void sendStatusBarStateChanged(int statusBarState) {
        mStatusBarStateListener.onStateChanged(statusBarState);
    }