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

Commit 5abe73d6 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "No face auth bouncer delay if posture unsupported" into udc-qpr-dev am:...

Merge "No face auth bouncer delay if posture unsupported" into udc-qpr-dev am: f1ca6295 am: 2b4273e9

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23591208



Change-Id: I4a739ff13797b45ce6dd45810dbc17d2316cb265
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents b45d1f30 2b4273e9
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -3170,6 +3170,13 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
                || (posture == mConfigFaceAuthSupportedPosture);
    }

    /**
     * If the current device posture allows face auth to run.
     */
    public boolean doesCurrentPostureAllowFaceAuth() {
        return doesPostureAllowFaceAuth(mPostureState);
    }

    private void logListenerModelData(@NonNull KeyguardListenModel model) {
        mLogger.logKeyguardListenerModel(model);
        if (model instanceof KeyguardFingerprintListenModel) {
+2 −1
Original line number Diff line number Diff line
@@ -391,7 +391,8 @@ constructor(
    private fun usePrimaryBouncerPassiveAuthDelay(): Boolean {
        val canRunFaceAuth =
            keyguardStateController.isFaceAuthEnabled &&
                keyguardUpdateMonitor.isUnlockingWithBiometricAllowed(BiometricSourceType.FACE)
                keyguardUpdateMonitor.isUnlockingWithBiometricAllowed(BiometricSourceType.FACE) &&
                keyguardUpdateMonitor.doesCurrentPostureAllowFaceAuth()
        val canRunActiveUnlock =
            currentUserActiveUnlockRunning &&
                keyguardUpdateMonitor.canTriggerActiveUnlockBasedOnDeviceState()
+20 −0
Original line number Diff line number Diff line
@@ -407,6 +407,7 @@ class PrimaryBouncerInteractorTest : SysuiTestCase() {
        whenever(keyguardStateController.isFaceAuthEnabled).thenReturn(true)
        whenever(keyguardUpdateMonitor.isUnlockingWithBiometricAllowed(BiometricSourceType.FACE))
            .thenReturn(true)
        whenever(keyguardUpdateMonitor.doesCurrentPostureAllowFaceAuth()).thenReturn(true)

        // WHEN bouncer show is requested
        underTest.show(true)
@@ -423,6 +424,25 @@ class PrimaryBouncerInteractorTest : SysuiTestCase() {
        verify(repository).setPrimaryShowingSoon(false)
    }

    @Test
    fun noDelayBouncer_biometricsAllowed_postureDoesNotAllowFaceAuth() {
        mainHandler.setMode(FakeHandler.Mode.QUEUEING)

        // GIVEN bouncer should not be delayed because device isn't in the right posture for
        // face auth
        whenever(keyguardStateController.isFaceAuthEnabled).thenReturn(true)
        whenever(keyguardUpdateMonitor.isUnlockingWithBiometricAllowed(BiometricSourceType.FACE))
            .thenReturn(true)
        whenever(keyguardUpdateMonitor.doesCurrentPostureAllowFaceAuth()).thenReturn(false)

        // WHEN bouncer show is requested
        underTest.show(true)

        // THEN primary show & primary showing soon are updated immediately
        verify(repository).setPrimaryShow(true)
        verify(repository).setPrimaryShowingSoon(false)
    }

    @Test
    fun delayBouncerWhenActiveUnlockPossible() {
        testScope.run {