1 package com.android.systemui.biometrics.ui 2 3 import com.android.systemui.biometrics.AuthPanelController 4 import com.android.systemui.biometrics.plugins.AuthContextPlugins 5 import com.android.systemui.biometrics.ui.binder.Spaghetti 6 import com.android.systemui.biometrics.ui.viewmodel.CredentialViewModel 7 8 /** A credential variant of BiometricPrompt. */ 9 sealed interface CredentialView { 10 /** 11 * Callbacks for the "host" container view that contains this credential view. 12 * 13 * TODO(b/251476085): Removed when the host view is converted to use a parent view model. 14 */ 15 interface Host { 16 /** When the user's credential has been verified. */ onCredentialMatchednull17 fun onCredentialMatched(attestation: ByteArray) 18 19 /** When the user abandons credential verification. */ 20 fun onCredentialAborted() 21 22 /** Warn the user is warned about excessive attempts. */ 23 fun onCredentialAttemptsRemaining(remaining: Int, messageBody: String) 24 } 25 26 // TODO(251476085): remove AuthPanelController 27 fun init( 28 viewModel: CredentialViewModel, 29 host: Host, 30 panelViewController: AuthPanelController, 31 animatePanel: Boolean, 32 legacyCallback: Spaghetti.Callback, 33 plugins: AuthContextPlugins?, 34 ) 35 } 36