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

Commit 32b90af0 authored by Bill Lin's avatar Bill Lin Committed by Android (Google) Code Review
Browse files

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

parents 5fa83437 b57ecafb
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -629,7 +629,7 @@ public class AuthContainerView extends LinearLayout
        if (fpProp != null && fpProp.isAnyUdfpsType()) {
        if (fpProp != null && fpProp.isAnyUdfpsType()) {
            maybeUpdatePositionForUdfps(forceInvalidate /* invalidate */);
            maybeUpdatePositionForUdfps(forceInvalidate /* invalidate */);
        }
        }
        if (faceProp != null && mBiometricView.isFaceOnly()) {
        if (faceProp != null && mBiometricView != null && mBiometricView.isFaceOnly()) {
            alwaysUpdatePositionAtScreenBottom(forceInvalidate /* invalidate */);
            alwaysUpdatePositionAtScreenBottom(forceInvalidate /* invalidate */);
        }
        }
        if (fpProp != null && fpProp.sensorType == TYPE_POWER_BUTTON) {
        if (fpProp != null && fpProp.sensorType == TYPE_POWER_BUTTON) {
+28 −0
Original line number Original line Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.systemui.biometrics
import android.app.ActivityTaskManager
import android.app.ActivityTaskManager
import android.app.admin.DevicePolicyManager
import android.app.admin.DevicePolicyManager
import android.content.pm.PackageManager
import android.content.pm.PackageManager
import android.content.res.Configuration
import android.hardware.biometrics.BiometricAuthenticator
import android.hardware.biometrics.BiometricAuthenticator
import android.hardware.biometrics.BiometricConstants
import android.hardware.biometrics.BiometricConstants
import android.hardware.biometrics.BiometricManager
import android.hardware.biometrics.BiometricManager
@@ -383,6 +384,33 @@ open class AuthContainerViewTest : SysuiTestCase() {
        assertThat(container.hasBiometricPrompt()).isFalse()
        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
    @Test
    fun testShowBiometricUI() {
    fun testShowBiometricUI() {
        val container = initializeFingerprintContainer()
        val container = initializeFingerprintContainer()