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

Commit 3dd070e5 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Run unlock animation on MODE_ONLY_WAKE" into tm-dev am: e196a94c

parents e72043f4 e196a94c
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -2816,9 +2816,12 @@ public class KeyguardViewMediator extends CoreStartable implements Dumpable,
        }
    }

    public void onWakeAndUnlocking() {
        Trace.beginSection("KeyguardViewMediator#onWakeAndUnlocking");
        mWakeAndUnlocking = true;
    /**
     * Receive a wake event from outside this class (most likely bio auth).
     */
    public void onWake(boolean withUnlock) {
        Trace.beginSection("KeyguardViewMediator#onWake");
        mWakeAndUnlocking = withUnlock;

        keyguardDone();
        Trace.endSection();
+3 −1
Original line number Diff line number Diff line
@@ -500,10 +500,12 @@ public class BiometricUnlockController extends KeyguardUpdateMonitorCallback imp
                    mUpdateMonitor.awakenFromDream();
                }
                mNotificationShadeWindowController.setNotificationShadeFocusable(false);
                mKeyguardViewMediator.onWakeAndUnlocking();
                mKeyguardViewMediator.onWake(true /* withUnlock */);
                Trace.endSection();
                break;
            case MODE_ONLY_WAKE:
                mKeyguardViewMediator.onWake(false /* withUnlock */);
                break;
            case MODE_NONE:
                break;
        }
+18 −1
Original line number Diff line number Diff line
@@ -180,11 +180,28 @@ public class BiometricsUnlockControllerTest extends SysuiTestCase {
        mBiometricUnlockController.onBiometricAuthenticated(UserHandle.USER_CURRENT,
                BiometricSourceType.FINGERPRINT, true /* isStrongBiometric */);

        verify(mKeyguardViewMediator).onWakeAndUnlocking();
        verify(mKeyguardViewMediator).onWake(true /* withUnlock */);
        assertThat(mBiometricUnlockController.getMode())
                .isEqualTo(BiometricUnlockController.MODE_WAKE_AND_UNLOCK_PULSING);
    }

    @Test
    public void onBiometricAuthenticated_whenFingerprintAndInteractive_wakeWithoutUnlock() {
        reset(mUpdateMonitor);
        reset(mStatusBarKeyguardViewManager);
        when(mStatusBarKeyguardViewManager.isShowing()).thenReturn(false);
        when(mUpdateMonitor.isUnlockingWithBiometricAllowed(anyBoolean())).thenReturn(true);
        when(mDozeScrimController.isPulsing()).thenReturn(false);
        // the value of isStrongBiometric doesn't matter here since we only care about the returned
        // value of isUnlockingWithBiometricAllowed()
        mBiometricUnlockController.onBiometricAuthenticated(UserHandle.USER_CURRENT,
                BiometricSourceType.FINGERPRINT, true /* isStrongBiometric */);

        verify(mKeyguardViewMediator).onWake(false /* withUnlock */);
        assertThat(mBiometricUnlockController.getMode())
                .isEqualTo(BiometricUnlockController.MODE_ONLY_WAKE);
    }

    @Test
    public void onBiometricAuthenticated_whenFingerprint_notifyKeyguardAuthenticated() {
        when(mUpdateMonitor.isUnlockingWithBiometricAllowed(anyBoolean())).thenReturn(true);