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

Commit 18929c87 authored by Diya Bera's avatar Diya Bera Committed by Android (Google) Code Review
Browse files

Merge "Only update biometric state when keyguard is showing" into udc-dev

parents f5e3f2e7 7dbff053
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -2867,7 +2867,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
                        || mGoingToSleep
                        || mGoingToSleep
                        || shouldListenForFingerprintAssistant
                        || shouldListenForFingerprintAssistant
                        || (mKeyguardOccluded && mIsDreaming)
                        || (mKeyguardOccluded && mIsDreaming)
                        || (mKeyguardOccluded && userDoesNotHaveTrust
                        || (mKeyguardOccluded && userDoesNotHaveTrust && mKeyguardShowing
                            && (mOccludingAppRequestingFp || isUdfps || mAlternateBouncerShowing));
                            && (mOccludingAppRequestingFp || isUdfps || mAlternateBouncerShowing));


        // Only listen if this KeyguardUpdateMonitor belongs to the primary user. There is an
        // Only listen if this KeyguardUpdateMonitor belongs to the primary user. There is an
+16 −0
Original line number Original line Diff line number Diff line
@@ -1010,6 +1010,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        assertThat(mKeyguardUpdateMonitor.shouldListenForFingerprint(false)).isFalse();
        assertThat(mKeyguardUpdateMonitor.shouldListenForFingerprint(false)).isFalse();
        verifyFingerprintAuthenticateNeverCalled();
        verifyFingerprintAuthenticateNeverCalled();
        // WHEN alternate bouncer is shown
        // WHEN alternate bouncer is shown
        mKeyguardUpdateMonitor.setKeyguardShowing(true, true);
        mKeyguardUpdateMonitor.setAlternateBouncerShowing(true);
        mKeyguardUpdateMonitor.setAlternateBouncerShowing(true);


        // THEN make sure FP listening begins
        // THEN make sure FP listening begins
@@ -2731,6 +2732,21 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
                KeyguardUpdateMonitor.getCurrentUser())).isTrue();
                KeyguardUpdateMonitor.getCurrentUser())).isTrue();
    }
    }


    @Test
    public void testFingerprintListeningStateWhenOccluded() {
        when(mAuthController.isUdfpsSupported()).thenReturn(true);

        mKeyguardUpdateMonitor.setKeyguardShowing(false, false);
        mKeyguardUpdateMonitor.dispatchStartedWakingUp(PowerManager.WAKE_REASON_BIOMETRIC);
        mKeyguardUpdateMonitor.setKeyguardShowing(false, true);

        verifyFingerprintAuthenticateNeverCalled();

        mKeyguardUpdateMonitor.setKeyguardShowing(true, true);
        mKeyguardUpdateMonitor.setAlternateBouncerShowing(true);

        verifyFingerprintAuthenticateCall();
    }


    private void verifyFingerprintAuthenticateNeverCalled() {
    private void verifyFingerprintAuthenticateNeverCalled() {
        verify(mFingerprintManager, never()).authenticate(any(), any(), any(), any(), any());
        verify(mFingerprintManager, never()).authenticate(any(), any(), any(), any(), any());