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

Commit 181b2c17 authored by Beverly's avatar Beverly
Browse files

Don't delay bouncer if face + fp enrolled

Only delay the bouncer if face is the only biometric enrolled
and face auth is set to non-bypass.

Test: manual
Test: atest KeyguardBouncerTest
Fixes: 232798977
Change-Id: I63b36a9b37769765fdb5837894feb5cb135ed83a
parent a95c2647
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -216,7 +216,10 @@ public class KeyguardBouncer {

            // Split up the work over multiple frames.
            DejankUtils.removeCallbacks(mResetRunnable);
            if (mKeyguardStateController.isFaceAuthEnabled() && !needsFullscreenBouncer()
            if (mKeyguardStateController.isFaceAuthEnabled()
                    && !mKeyguardUpdateMonitor.getCachedIsUnlockWithFingerprintPossible(
                            KeyguardUpdateMonitor.getCurrentUser())
                    && !needsFullscreenBouncer()
                    && !mKeyguardUpdateMonitor.userNeedsStrongAuth()
                    && !mKeyguardBypassController.getBypassEnabled()) {
                mHandler.postDelayed(mShowRunnable, BOUNCER_FACE_DELAY);
+11 −2
Original line number Diff line number Diff line
@@ -399,9 +399,8 @@ public class KeyguardBouncerTest extends SysuiTestCase {
        mBouncer.hide(false /* destroyView */);
        verify(mHandler).removeCallbacks(eq(showRunnable.getValue()));
    }

    @Test
    public void testShow_delaysIfFaceAuthIsRunning_unlessBypass() {
    public void testShow_delaysIfFaceAuthIsRunning_unlessBypassEnabled() {
        when(mKeyguardStateController.isFaceAuthEnabled()).thenReturn(true);
        when(mKeyguardBypassController.getBypassEnabled()).thenReturn(true);
        mBouncer.show(true /* reset */);
@@ -409,6 +408,16 @@ public class KeyguardBouncerTest extends SysuiTestCase {
        verify(mHandler, never()).postDelayed(any(), anyLong());
    }

    @Test
    public void testShow_delaysIfFaceAuthIsRunning_unlessFingerprintEnrolled() {
        when(mKeyguardStateController.isFaceAuthEnabled()).thenReturn(true);
        when(mKeyguardUpdateMonitor.getCachedIsUnlockWithFingerprintPossible(0))
                .thenReturn(true);
        mBouncer.show(true /* reset */);

        verify(mHandler, never()).postDelayed(any(), anyLong());
    }

    @Test
    public void testRegisterUpdateMonitorCallback() {
        verify(mKeyguardUpdateMonitor).registerCallback(any());