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

Commit 97b363ac authored by Austin Delgado's avatar Austin Delgado
Browse files

Dismiss Biometric Prompt on device lock

Bug: 374773970
Flag: EXEMPT bugfix
Test: atest AuthContainerViewTest
Change-Id: Ic5161c323f762c828a9e669bfccd651a2c776473
parent 8192775f
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.AlertDialog;
import android.app.KeyguardManager;
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.PixelFormat;
@@ -316,6 +317,16 @@ public class AuthContainerView extends LinearLayout
        mBiometricCallback = new BiometricCallback();
        mMSDLPlayer = msdlPlayer;

        // Listener for when device locks from adaptive auth, dismiss prompt
        getContext().getSystemService(KeyguardManager.class).addKeyguardLockedStateListener(
                getContext().getMainExecutor(),
                isKeyguardLocked -> {
                    if (isKeyguardLocked) {
                        onStartedGoingToSleep();
                    }
                }
        );

        final BiometricModalities biometricModalities = new BiometricModalities(
                Utils.findFirstSensorProperties(fpProps, mConfig.mSensorIds),
                Utils.findFirstSensorProperties(faceProps, mConfig.mSensorIds));
+14 −0
Original line number Diff line number Diff line
@@ -211,6 +211,20 @@ open class AuthContainerViewTest : SysuiTestCase() {
        assertThat(root.isAttachedToWindow).isFalse()
    }

    @Test
    fun testDimissOnLock() {
        val container = initializeFingerprintContainer(addToView = true)
        assertThat(container.parent).isNotNull()
        val root = container.rootView

        // Simulate sleep/lock invocation
        container.onStartedGoingToSleep()
        waitForIdleSync()

        assertThat(container.parent).isNull()
        assertThat(root.isAttachedToWindow).isFalse()
    }

    @Test
    fun testCredentialPasswordDismissesOnBack() {
        val container = initializeCredentialPasswordContainer(addToView = true)