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

Commit b48b5ceb authored by Bill Lin's avatar Bill Lin Committed by Automerger Merge Worker
Browse files

Merge "Fix NPE crash when BP fallback to credentialUI and rotate" into 24D1-dev am: 32b90af0

parents 2e05939e 32b90af0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -631,7 +631,7 @@ public class AuthContainerView extends LinearLayout
        if (fpProp != null && fpProp.isAnyUdfpsType()) {
            maybeUpdatePositionForUdfps(forceInvalidate /* invalidate */);
        }
        if (faceProp != null && mBiometricView.isFaceOnly()) {
        if (faceProp != null && mBiometricView != null && mBiometricView.isFaceOnly()) {
            alwaysUpdatePositionAtScreenBottom(forceInvalidate /* invalidate */);
        }
        if (fpProp != null && fpProp.sensorType == TYPE_POWER_BUTTON) {
+28 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.systemui.biometrics
import android.app.ActivityTaskManager
import android.app.admin.DevicePolicyManager
import android.content.pm.PackageManager
import android.content.res.Configuration
import android.hardware.biometrics.BiometricAuthenticator
import android.hardware.biometrics.BiometricConstants
import android.hardware.biometrics.BiometricManager
@@ -391,6 +392,33 @@ open class AuthContainerViewTest : SysuiTestCase() {
        assertThat(container.hasBiometricPrompt()).isFalse()
    }

    @Test
    fun testAnimateToCredentialUI_rotateCredentialUI() {
        val container = initializeFingerprintContainer(
            authenticators = BiometricManager.Authenticators.BIOMETRIC_WEAK or
                    BiometricManager.Authenticators.DEVICE_CREDENTIAL
        )
        container.animateToCredentialUI(false)
        waitForIdleSync()

        assertThat(container.hasCredentialView()).isTrue()
        assertThat(container.hasBiometricPrompt()).isFalse()

        // Check credential view persists after new attachment
        container.onAttachedToWindow()

        assertThat(container.hasCredentialView()).isTrue()
        assertThat(container.hasBiometricPrompt()).isFalse()

        val configuration = Configuration(context.resources.configuration)
        configuration.orientation = Configuration.ORIENTATION_LANDSCAPE
        container.dispatchConfigurationChanged(configuration)
        waitForIdleSync()

        assertThat(container.hasCredentialView()).isTrue()
        assertThat(container.hasBiometricPrompt()).isFalse()
    }

    @Test
    fun testShowBiometricUI() {
        mSetFlagsRule.disableFlags(FLAG_CONSTRAINT_BP)