Loading packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java +1 −1 Original line number Diff line number Diff line Loading @@ -881,7 +881,7 @@ public class AuthContainerView extends LinearLayout final Runnable endActionRunnable = () -> { setVisibility(View.INVISIBLE); if (Flags.customBiometricPrompt()) { if (Flags.customBiometricPrompt() && constraintBp()) { mPromptSelectorInteractorProvider.get().resetPrompt(); } removeWindowIfAttached(); Loading packages/SystemUI/src/com/android/systemui/biometrics/data/repository/PromptRepository.kt +2 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.systemui.biometrics.data.repository import android.hardware.biometrics.Flags import android.hardware.biometrics.PromptInfo import com.android.systemui.Flags.constraintBp import com.android.systemui.biometrics.AuthController import com.android.systemui.biometrics.Utils import com.android.systemui.biometrics.Utils.isDeviceCredentialAllowed Loading Loading @@ -151,6 +152,7 @@ constructor( val hasCredentialViewShown = kind.value !is PromptKind.Biometric val showBpForCredential = Flags.customBiometricPrompt() && constraintBp() && !Utils.isBiometricAllowed(promptInfo) && isDeviceCredentialAllowed(promptInfo) && promptInfo.contentView != null Loading packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/BiometricViewBinder.kt +9 −5 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.Context import android.hardware.biometrics.BiometricAuthenticator import android.hardware.biometrics.BiometricConstants import android.hardware.biometrics.BiometricPrompt import android.hardware.biometrics.Flags import android.hardware.face.FaceManager import android.text.method.ScrollingMovementMethod import android.util.Log Loading Loading @@ -166,11 +167,14 @@ object BiometricViewBinder { titleView.text = viewModel.title.first() subtitleView.text = viewModel.subtitle.first() descriptionView.text = viewModel.description.first() if (Flags.customBiometricPrompt() && constraintBp()) { BiometricCustomizedViewBinder.bind( customizedViewContainer, view.requireViewById(R.id.space_above_content), viewModel ) } // set button listeners negativeButton.setOnClickListener { legacyCallback.onButtonNegative() } Loading packages/SystemUI/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModel.kt +4 −3 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.util.Log import android.view.HapticFeedbackConstants import android.view.MotionEvent import com.android.systemui.Flags.bpTalkback import com.android.systemui.Flags.constraintBp import com.android.systemui.biometrics.UdfpsUtils import com.android.systemui.biometrics.Utils import com.android.systemui.biometrics.domain.interactor.DisplayStateInteractor Loading Loading @@ -284,7 +285,7 @@ constructor( promptSelectorInteractor.prompt .map { when { !customBiometricPrompt() || it == null -> null !(customBiometricPrompt() && constraintBp()) || it == null -> null it.logoRes != -1 -> context.resources.getDrawable(it.logoRes, context.theme) it.logoBitmap != null -> BitmapDrawable(context.resources, it.logoBitmap) else -> Loading @@ -304,7 +305,7 @@ constructor( promptSelectorInteractor.prompt .map { when { !customBiometricPrompt() || it == null -> "" !(customBiometricPrompt() && constraintBp()) || it == null -> "" it.logoDescription != null -> it.logoDescription else -> try { Loading @@ -329,7 +330,7 @@ constructor( /** Custom content view for the prompt. */ val contentView: Flow<PromptContentView?> = promptSelectorInteractor.prompt .map { if (customBiometricPrompt()) it?.contentView else null } .map { if (customBiometricPrompt() && constraintBp()) it?.contentView else null } .distinctUntilChanged() private val originalDescription = Loading packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthContainerViewTest.kt +1 −2 Original line number Diff line number Diff line Loading @@ -20,7 +20,6 @@ import android.content.pm.PackageManager import android.hardware.biometrics.BiometricAuthenticator import android.hardware.biometrics.BiometricConstants import android.hardware.biometrics.BiometricManager import android.hardware.biometrics.Flags.FLAG_CUSTOM_BIOMETRIC_PROMPT import android.hardware.biometrics.PromptInfo import android.hardware.biometrics.PromptVerticalListContentView import android.hardware.face.FaceSensorPropertiesInternal Loading Loading @@ -386,7 +385,6 @@ open class AuthContainerViewTest : SysuiTestCase() { @Test fun testShowCredentialUI_withDescription() { mSetFlagsRule.disableFlags(FLAG_CUSTOM_BIOMETRIC_PROMPT) val container = initializeFingerprintContainer( authenticators = BiometricManager.Authenticators.DEVICE_CREDENTIAL ) Loading @@ -397,6 +395,7 @@ open class AuthContainerViewTest : SysuiTestCase() { } @Test @Ignore("b/302735104") fun testShowCredentialUI_withCustomBp() { val container = initializeFingerprintContainer( authenticators = BiometricManager.Authenticators.DEVICE_CREDENTIAL, Loading Loading
packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java +1 −1 Original line number Diff line number Diff line Loading @@ -881,7 +881,7 @@ public class AuthContainerView extends LinearLayout final Runnable endActionRunnable = () -> { setVisibility(View.INVISIBLE); if (Flags.customBiometricPrompt()) { if (Flags.customBiometricPrompt() && constraintBp()) { mPromptSelectorInteractorProvider.get().resetPrompt(); } removeWindowIfAttached(); Loading
packages/SystemUI/src/com/android/systemui/biometrics/data/repository/PromptRepository.kt +2 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.systemui.biometrics.data.repository import android.hardware.biometrics.Flags import android.hardware.biometrics.PromptInfo import com.android.systemui.Flags.constraintBp import com.android.systemui.biometrics.AuthController import com.android.systemui.biometrics.Utils import com.android.systemui.biometrics.Utils.isDeviceCredentialAllowed Loading Loading @@ -151,6 +152,7 @@ constructor( val hasCredentialViewShown = kind.value !is PromptKind.Biometric val showBpForCredential = Flags.customBiometricPrompt() && constraintBp() && !Utils.isBiometricAllowed(promptInfo) && isDeviceCredentialAllowed(promptInfo) && promptInfo.contentView != null Loading
packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/BiometricViewBinder.kt +9 −5 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.Context import android.hardware.biometrics.BiometricAuthenticator import android.hardware.biometrics.BiometricConstants import android.hardware.biometrics.BiometricPrompt import android.hardware.biometrics.Flags import android.hardware.face.FaceManager import android.text.method.ScrollingMovementMethod import android.util.Log Loading Loading @@ -166,11 +167,14 @@ object BiometricViewBinder { titleView.text = viewModel.title.first() subtitleView.text = viewModel.subtitle.first() descriptionView.text = viewModel.description.first() if (Flags.customBiometricPrompt() && constraintBp()) { BiometricCustomizedViewBinder.bind( customizedViewContainer, view.requireViewById(R.id.space_above_content), viewModel ) } // set button listeners negativeButton.setOnClickListener { legacyCallback.onButtonNegative() } Loading
packages/SystemUI/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModel.kt +4 −3 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.util.Log import android.view.HapticFeedbackConstants import android.view.MotionEvent import com.android.systemui.Flags.bpTalkback import com.android.systemui.Flags.constraintBp import com.android.systemui.biometrics.UdfpsUtils import com.android.systemui.biometrics.Utils import com.android.systemui.biometrics.domain.interactor.DisplayStateInteractor Loading Loading @@ -284,7 +285,7 @@ constructor( promptSelectorInteractor.prompt .map { when { !customBiometricPrompt() || it == null -> null !(customBiometricPrompt() && constraintBp()) || it == null -> null it.logoRes != -1 -> context.resources.getDrawable(it.logoRes, context.theme) it.logoBitmap != null -> BitmapDrawable(context.resources, it.logoBitmap) else -> Loading @@ -304,7 +305,7 @@ constructor( promptSelectorInteractor.prompt .map { when { !customBiometricPrompt() || it == null -> "" !(customBiometricPrompt() && constraintBp()) || it == null -> "" it.logoDescription != null -> it.logoDescription else -> try { Loading @@ -329,7 +330,7 @@ constructor( /** Custom content view for the prompt. */ val contentView: Flow<PromptContentView?> = promptSelectorInteractor.prompt .map { if (customBiometricPrompt()) it?.contentView else null } .map { if (customBiometricPrompt() && constraintBp()) it?.contentView else null } .distinctUntilChanged() private val originalDescription = Loading
packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthContainerViewTest.kt +1 −2 Original line number Diff line number Diff line Loading @@ -20,7 +20,6 @@ import android.content.pm.PackageManager import android.hardware.biometrics.BiometricAuthenticator import android.hardware.biometrics.BiometricConstants import android.hardware.biometrics.BiometricManager import android.hardware.biometrics.Flags.FLAG_CUSTOM_BIOMETRIC_PROMPT import android.hardware.biometrics.PromptInfo import android.hardware.biometrics.PromptVerticalListContentView import android.hardware.face.FaceSensorPropertiesInternal Loading Loading @@ -386,7 +385,6 @@ open class AuthContainerViewTest : SysuiTestCase() { @Test fun testShowCredentialUI_withDescription() { mSetFlagsRule.disableFlags(FLAG_CUSTOM_BIOMETRIC_PROMPT) val container = initializeFingerprintContainer( authenticators = BiometricManager.Authenticators.DEVICE_CREDENTIAL ) Loading @@ -397,6 +395,7 @@ open class AuthContainerViewTest : SysuiTestCase() { } @Test @Ignore("b/302735104") fun testShowCredentialUI_withCustomBp() { val container = initializeFingerprintContainer( authenticators = BiometricManager.Authenticators.DEVICE_CREDENTIAL, Loading