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

Commit 92d9d150 authored by Diya Bera's avatar Diya Bera Committed by Automerger Merge Worker
Browse files

Merge "Only update biometric state when keyguard is showing" into udc-dev am: 18929c87

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

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

        // THEN make sure FP listening begins
@@ -2731,6 +2732,21 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
                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() {
        verify(mFingerprintManager, never()).authenticate(any(), any(), any(), any(), any());