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

Commit e422e380 authored by Chandru S's avatar Chandru S
Browse files

Don't update face auth locked out state if face auth is not enabled or enrolled

FP getting locked out will set face auth to be locked out, any triggers for face auth will cause the interactor to emit the default "Face unlock unavailable" message whenever face auth is locked out.

Fixes: 302572730
Test: atest KeyguardFaceAuthInteractorTest
Change-Id: I55d3de76d25198f6cd7a7a50f621c9760af4fa28
parent 37ab8cbe
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -151,9 +151,12 @@ constructor(
            .onEach {
                if (it) {
                    faceAuthenticationLogger.faceLockedOut("Fingerprint locked out")
                    // We don't care about this if face auth is not enabled.
                    if (isFaceAuthEnabledAndEnrolled()) {
                        repository.setLockedOut(true)
                    }
                }
            }
            .launchIn(applicationScope)

        // User switching should stop face auth and then when it is complete we should trigger face
+3 −1
Original line number Diff line number Diff line
@@ -95,6 +95,7 @@ class KeyguardFaceAuthInteractorTest : SysuiTestCase() {
        FakeDeviceEntryFingerprintAuthRepository
    private lateinit var fakeKeyguardRepository: FakeKeyguardRepository
    private lateinit var powerInteractor: PowerInteractor
    private lateinit var fakeBiometricSettingsRepository: FakeBiometricSettingsRepository

    @Mock private lateinit var keyguardUpdateMonitor: KeyguardUpdateMonitor
    @Mock private lateinit var faceWakeUpTriggersConfig: FaceWakeUpTriggersConfig
@@ -123,7 +124,7 @@ class KeyguardFaceAuthInteractorTest : SysuiTestCase() {
        facePropertyRepository = FakeFacePropertyRepository()
        fakeKeyguardRepository = FakeKeyguardRepository()
        powerInteractor = PowerInteractorFactory.create().powerInteractor
        val fakeBiometricSettingsRepository = FakeBiometricSettingsRepository()
        fakeBiometricSettingsRepository = FakeBiometricSettingsRepository()

        underTest =
            SystemUIKeyguardFaceAuthInteractor(
@@ -484,6 +485,7 @@ class KeyguardFaceAuthInteractorTest : SysuiTestCase() {
    fun faceUnlockIsDisabledWhenFpIsLockedOut() =
        testScope.runTest {
            underTest.start()
            fakeBiometricSettingsRepository.setIsFaceAuthEnrolledAndEnabled(true)

            fakeDeviceEntryFingerprintAuthRepository.setLockedOut(true)
            runCurrent()