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

Commit 5e4aba32 authored by Beverly's avatar Beverly Committed by Beverly Tai
Browse files

Don't run face auth (non-bypass) on a dismissible keyguard

However, run face detect if bypass is enabled on
a dismissible keyguard.

Test: atest DeviceEntryFaceAuthRepositoryTest
Test: fold the device to get to the unlocked keyugard;
observe that non-bypass face auth doesn't run
Fixes: 322106530
Flag: None

Change-Id: Ia67946dd9d81fbc0fb3aece2ea7cec92196d45a3
parent 53a31c05
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -656,7 +656,7 @@ class DeviceEntryFaceAuthRepositoryTest : SysuiTestCase() {
        }

    @Test
    fun authenticateFallbacksToDetectionWhenUserIsAlreadyTrustedByTrustManager() =
    fun authenticateFallbacksToDetectionWhenKeyguardIsAlreadyDismissible() =
        testScope.runTest {
            whenever(faceManager.sensorPropertiesInternal)
                .thenReturn(listOf(createFaceSensorProperties(supportsFaceDetection = true)))
@@ -665,7 +665,7 @@ class DeviceEntryFaceAuthRepositoryTest : SysuiTestCase() {
            initCollectors()
            allPreconditionsToRunFaceAuthAreTrue()

            trustRepository.setCurrentUserTrusted(true)
            keyguardRepository.setKeyguardDismissible(true)
            assertThat(canFaceAuthRun()).isFalse()
            underTest.requestAuthenticate(
                FACE_AUTH_TRIGGERED_SWIPE_UP_ON_BOUNCER,
+5 −2
Original line number Diff line number Diff line
@@ -250,7 +250,10 @@ constructor(
            listOf(
                    *gatingConditionsForAuthAndDetect(),
                    Pair(isLockedOut.isFalse(), "isNotInLockOutState"),
                    Pair(trustRepository.isCurrentUserTrusted.isFalse(), "currentUserIsNotTrusted"),
                    Pair(
                        keyguardRepository.isKeyguardDismissible.isFalse(),
                        "keyguardIsNotDismissible"
                    ),
                    Pair(
                        biometricSettingsRepository.isFaceAuthCurrentlyAllowed,
                        "isFaceAuthCurrentlyAllowed"
@@ -273,7 +276,7 @@ constructor(
                    Pair(
                        biometricSettingsRepository.isFaceAuthCurrentlyAllowed
                            .isFalse()
                            .or(trustRepository.isCurrentUserTrusted),
                            .or(keyguardRepository.isKeyguardDismissible),
                        "faceAuthIsNotCurrentlyAllowedOrCurrentUserIsTrusted"
                    ),
                    // We don't want to run face detect if fingerprint can be used to unlock the