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

Commit d084b6a3 authored by Beverly's avatar Beverly Committed by Automerger Merge Worker
Browse files

RESTRICT AUTOMERGE Update KeyguardUpdateMonitorTest am: 0cdb0520

parents fa585c32 0cdb0520
Loading
Loading
Loading
Loading
+78 −76
Original line number Diff line number Diff line
@@ -604,9 +604,8 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mKeyguardUpdateMonitor.dispatchStartedGoingToSleep(0 /* why */);
        mTestableLooper.processAllMessages();

        verify(mFingerprintManager).authenticate(any(), any(), any(), any(), anyInt(), anyInt(),
                anyInt());
        verify(mFingerprintManager, never()).detectFingerprint(any(), any(), anyInt());
        verifyFingerprintAuthenticateCall();
        verifyFingerprintDetectNeverCalled();
    }

    @Test
@@ -616,9 +615,8 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mKeyguardUpdateMonitor.dispatchStartedGoingToSleep(0 /* why */);
        mTestableLooper.processAllMessages();

        verify(mFingerprintManager, never()).authenticate(any(), any(), any(), any(), anyInt(),
                anyInt(), anyInt());
        verify(mFingerprintManager, never()).detectFingerprint(any(), any(), anyInt());
        verifyFingerprintAuthenticateNeverCalled();
        verifyFingerprintDetectNeverCalled();
    }

    @Test
@@ -632,8 +630,8 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mKeyguardUpdateMonitor.dispatchStartedGoingToSleep(0 /* why */);
        mTestableLooper.processAllMessages();

        verify(mFingerprintManager, never()).authenticate(any(), any(), any(), any(), anyInt());
        verify(mFingerprintManager).detectFingerprint(any(), any(), anyInt());
        verifyFingerprintAuthenticateNeverCalled();
        verifyFingerprintDetectCall();
    }

    @Test
@@ -722,7 +720,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
    public void testTriesToAuthenticate_whenBouncer() {
        setKeyguardBouncerVisibility(true);

        verify(mFaceManager).authenticate(any(), any(), any(), any(), anyInt(), anyBoolean());
        verifyFaceAuthenticateCall();
        verify(mFaceManager).isHardwareDetected();
        verify(mFaceManager).hasEnrolledTemplates(anyInt());
    }
@@ -732,8 +730,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mKeyguardUpdateMonitor.sendPrimaryBouncerChanged(
                /* bouncerIsOrWillBeShowing */ true, /* bouncerFullyShown */ false);

        verify(mFaceManager, never()).authenticate(any(), any(), any(), any(), anyInt(),
                anyBoolean());
        verifyFaceAuthenticateNeverCalled();
    }

    @Test
@@ -741,7 +738,8 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        keyguardIsVisible();
        mKeyguardUpdateMonitor.dispatchStartedWakingUp(PowerManager.WAKE_REASON_POWER_BUTTON);
        mTestableLooper.processAllMessages();
        verify(mFaceManager).authenticate(any(), any(), any(), any(), anyInt(), anyBoolean());

        verifyFaceAuthenticateCall();
        verify(mUiEventLogger).logWithInstanceIdAndPosition(
                eq(FaceAuthUiEvent.FACE_AUTH_UPDATED_STARTED_WAKING_UP),
                eq(0),
@@ -757,8 +755,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mTestableLooper.processAllMessages();

        keyguardIsVisible();
        verify(mFaceManager, never()).authenticate(any(), any(), any(), any(), anyInt(),
                anyBoolean());
        verifyFaceAuthenticateNeverCalled();
    }

    @Test
@@ -769,8 +766,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mKeyguardUpdateMonitor.dispatchStartedWakingUp(PowerManager.WAKE_REASON_POWER_BUTTON);
        mTestableLooper.processAllMessages();
        keyguardIsVisible();
        verify(mFaceManager, never()).authenticate(any(), any(), any(), any(), anyInt(),
                anyBoolean());
        verifyFaceAuthenticateNeverCalled();
    }

    @Test
@@ -794,9 +790,8 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mTestableLooper.processAllMessages();

        // THEN face detect and authenticate are NOT triggered
        verify(mFaceManager, never()).detectFace(any(), any(), anyInt());
        verify(mFaceManager, never()).authenticate(any(), any(), any(), any(), anyInt(),
                anyBoolean());
        verifyFaceDetectNeverCalled();
        verifyFaceAuthenticateNeverCalled();

        // THEN biometric help message sent to callback
        verify(keyguardUpdateMonitorCallback).onBiometricHelp(
@@ -817,9 +812,8 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mTestableLooper.processAllMessages();

        // FACE detect is triggered, not authenticate
        verify(mFaceManager).detectFace(any(), any(), anyInt());
        verify(mFaceManager, never()).authenticate(any(), any(), any(), any(), anyInt(),
                anyBoolean());
        verifyFaceDetectCall();
        verifyFaceAuthenticateNeverCalled();

        // WHEN bouncer becomes visible
        setKeyguardBouncerVisibility(true);
@@ -827,9 +821,8 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {

        // THEN face scanning is not run
        mKeyguardUpdateMonitor.requestFaceAuth(FaceAuthApiRequestReason.UDFPS_POINTER_DOWN);
        verify(mFaceManager, never()).authenticate(any(), any(), any(), any(), anyInt(),
                anyBoolean());
        verify(mFaceManager, never()).detectFace(any(), any(), anyInt());
        verifyFaceAuthenticateNeverCalled();
        verifyFaceDetectNeverCalled();
    }

    @Test
@@ -844,9 +837,8 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mTestableLooper.processAllMessages();

        // FACE detect and authenticate are NOT triggered
        verify(mFaceManager, never()).detectFace(any(), any(), anyInt());
        verify(mFaceManager, never()).authenticate(any(), any(), any(), any(), anyInt(),
                anyBoolean());
        verifyFaceDetectNeverCalled();
        verifyFaceAuthenticateNeverCalled();
    }

    @Test
@@ -884,7 +876,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mKeyguardUpdateMonitor.setKeyguardShowing(true, true);
        mKeyguardUpdateMonitor.setAssistantVisible(true);

        verify(mFaceManager).authenticate(any(), any(), any(), any(), anyInt(), anyBoolean());
        verifyFaceAuthenticateCall();
    }

    @Test
@@ -892,12 +884,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mKeyguardUpdateMonitor.setKeyguardShowing(false, true);
        mKeyguardUpdateMonitor.setAssistantVisible(true);

        verify(mFaceManager, never()).authenticate(any(),
                any(),
                any(),
                any(),
                anyInt(),
                anyBoolean());
        verifyFaceAuthenticateNeverCalled();
    }

    @Test
@@ -908,15 +895,12 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {

        // THEN fingerprint shouldn't listen
        assertThat(mKeyguardUpdateMonitor.shouldListenForFingerprint(false)).isFalse();
        verify(mFingerprintManager, never()).authenticate(any(), any(), any(), any(), anyInt(),
                anyInt(), anyInt());

        verifyFingerprintAuthenticateNeverCalled();
        // WHEN alternate bouncer is shown
        mKeyguardUpdateMonitor.setAlternateBouncerShowing(true);

        // THEN make sure FP listening begins
        verify(mFingerprintManager).authenticate(any(), any(), any(), any(), anyInt(), anyInt(),
                anyInt());
        verifyFingerprintAuthenticateCall();
    }

    @Test
@@ -928,7 +912,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
                KeyguardUpdateMonitor.getCurrentUser(), 0 /* flags */,
                new ArrayList<>());
        keyguardIsVisible();
        verify(mFaceManager).authenticate(any(), any(), any(), any(), anyInt(), anyBoolean());
        verifyFaceAuthenticateCall();
    }

    @Test
@@ -936,7 +920,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mKeyguardUpdateMonitor.setKeyguardShowing(true, true);
        mKeyguardUpdateMonitor.setAssistantVisible(true);

        verify(mFaceManager).authenticate(any(), any(), any(), any(), anyInt(), anyBoolean());
        verifyFaceAuthenticateCall();
        mTestableLooper.processAllMessages();
        clearInvocations(mFaceManager);

@@ -949,12 +933,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mKeyguardUpdateMonitor.handleKeyguardReset();

        assertThat(mKeyguardUpdateMonitor.isFaceDetectionRunning()).isFalse();
        verify(mFaceManager, never()).authenticate(any(),
                any(),
                any(),
                any(),
                anyInt(),
                anyBoolean());
        verifyFaceAuthenticateNeverCalled();
    }

    @Test
@@ -964,8 +943,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mKeyguardUpdateMonitor.onTrustChanged(true /* enabled */, true /* newlyUnlocked */,
                KeyguardUpdateMonitor.getCurrentUser(), 0 /* flags */, new ArrayList<>());
        keyguardIsVisible();
        verify(mFaceManager, never()).authenticate(any(), any(), any(), any(), anyInt(),
                anyBoolean());
        verifyFaceAuthenticateNeverCalled();
    }

    @Test
@@ -977,9 +955,8 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        keyguardIsVisible();
        mTestableLooper.processAllMessages();

        verify(mFaceManager, never()).authenticate(any(), any(), any(), any(), anyInt(),
                anyBoolean());
        verify(mFaceManager, never()).detectFace(any(), any(), anyInt());
        verifyFaceAuthenticateNeverCalled();
        verifyFaceDetectNeverCalled();
    }

    @Test
@@ -988,16 +965,14 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
                .onAuthenticationError(FingerprintManager.BIOMETRIC_ERROR_POWER_PRESSED, "");

        // THEN doesn't authenticate immediately
        verify(mFingerprintManager, never()).authenticate(any(),
                any(), any(), any(), anyInt(), anyInt(), anyInt());
        verifyFingerprintAuthenticateNeverCalled();

        // WHEN all messages (with delays) are processed
        mTestableLooper.moveTimeForward(HAL_POWER_PRESS_TIMEOUT);
        mTestableLooper.processAllMessages();

        // THEN fingerprint manager attempts to authenticate again
        verify(mFingerprintManager).authenticate(any(),
                any(), any(), any(), anyInt(), anyInt(), anyInt());
        verifyFingerprintAuthenticateCall();
    }

    @Test
@@ -1009,8 +984,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        setKeyguardBouncerVisibility(true);
        mTestableLooper.processAllMessages();

        verify(mFaceManager, never()).authenticate(any(), any(), any(), any(), anyInt(),
                anyBoolean());
        verifyFaceAuthenticateNeverCalled();
    }

    @Test
@@ -1137,9 +1111,8 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mTestableLooper.processAllMessages();
        keyguardIsVisible();

        verify(mFaceManager).authenticate(any(), any(), any(), any(), anyInt(), anyBoolean());
        verify(mFingerprintManager).authenticate(any(), any(), any(), any(), anyInt(), anyInt(),
                anyInt());
        verifyFaceAuthenticateCall();
        verifyFingerprintAuthenticateCall();

        when(mFingerprintManager.getLockoutModeForUser(eq(FINGERPRINT_SENSOR_ID), eq(newUser)))
                .thenReturn(fingerprintLockoutMode);
@@ -1587,10 +1560,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
    public void testFaceDoesNotAuth_afterPinAttempt() {
        mTestableLooper.processAllMessages();
        mKeyguardUpdateMonitor.setCredentialAttempted();
        verify(mFingerprintManager, never()).authenticate(any(), any(), any(),
                any(), anyInt());
        verify(mFaceManager, never()).authenticate(any(), any(), any(), any(), anyInt(),
                anyBoolean());
        verifyFaceAuthenticateNeverCalled();
    }

    @Test
@@ -1965,9 +1935,8 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mTestableLooper.processAllMessages();
        keyguardIsVisible();

        verify(mFaceManager).authenticate(any(), any(), any(), any(), anyInt(), anyBoolean());
        verify(mFingerprintManager).authenticate(any(), any(), any(), any(), anyInt(), anyInt(),
                anyInt());
        verifyFaceAuthenticateCall();
        verifyFingerprintAuthenticateCall();

        mKeyguardUpdateMonitor.onFaceAuthenticated(0, false);
        // Make sure keyguard is going away after face auth attempt, and that it calls
@@ -1993,8 +1962,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mKeyguardUpdateMonitor.dispatchDreamingStopped();
        mTestableLooper.processAllMessages();

        verify(mFaceManager, never()).authenticate(
                any(), any(), any(), any(), anyInt(), anyBoolean());
        verifyFaceAuthenticateNeverCalled();
    }

    @Test
@@ -2007,15 +1975,14 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mTestableLooper.processAllMessages();

        // THEN face auth isn't triggered
        verify(mFaceManager, never()).authenticate(
                any(), any(), any(), any(), anyInt(), anyBoolean());
        verifyFaceAuthenticateNeverCalled();

        // WHEN device wakes up from the power button
        mKeyguardUpdateMonitor.dispatchStartedWakingUp(PowerManager.WAKE_REASON_POWER_BUTTON);
        mTestableLooper.processAllMessages();

        // THEN face auth is triggered
        verify(mFaceManager).authenticate(any(), any(), any(), any(), anyInt(), anyBoolean());
        verifyFaceAuthenticateCall();
    }


@@ -2186,7 +2153,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mTestableLooper.processAllMessages();
        keyguardIsVisible();

        verify(mFaceManager).authenticate(any(), any(), any(), any(), anyInt(), anyBoolean());
        verifyFaceAuthenticateCall();
        verify(mFingerprintManager).authenticate(any(), any(), any(), any(), anyInt(), anyInt(),
                anyInt());

@@ -2219,7 +2186,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
        mTestableLooper.processAllMessages();
        keyguardIsVisible();

        verify(mFaceManager).authenticate(any(), any(), any(), any(), anyInt(), anyBoolean());
        verifyFaceAuthenticateCall();

        final CancellationSignal faceCancel = spy(mKeyguardUpdateMonitor.mFaceCancelSignal);
        mKeyguardUpdateMonitor.mFaceCancelSignal = faceCancel;
@@ -2445,6 +2412,41 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
                eq(false));
    }

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

    private void verifyFingerprintAuthenticateCall() {
        verify(mFingerprintManager).authenticate(any(), any(), any(), any(), anyInt(), anyInt(),
                anyInt());
    }

    private void verifyFingerprintDetectNeverCalled() {
        verify(mFingerprintManager, never()).detectFingerprint(any(), any(), anyInt());
    }

    private void verifyFingerprintDetectCall() {
        verify(mFingerprintManager).detectFingerprint(any(), any(), anyInt());
    }

    private void verifyFaceAuthenticateNeverCalled() {
        verify(mFaceManager, never()).authenticate(any(), any(), any(), any(), anyInt(),
                anyBoolean());
    }

    private void verifyFaceAuthenticateCall() {
        verify(mFaceManager).authenticate(any(), any(), any(), any(), anyInt(), anyBoolean());
    }

    private void verifyFaceDetectNeverCalled() {
        verify(mFaceManager, never()).detectFace(any(), any(), anyInt());
    }

    private void verifyFaceDetectCall() {
        verify(mFaceManager).detectFace(any(), any(), anyInt());
    }

    private void userDeviceLockDown() {
        when(mStrongAuthTracker.isUnlockingWithBiometricAllowed(anyBoolean())).thenReturn(false);
        when(mStrongAuthTracker.getStrongAuthForUser(mCurrentUserId))