1 package com.android.systemui.biometrics.domain.interactor
2 
3 /** Result of a [CredentialInteractor.verifyCredential] check. */
4 sealed interface CredentialStatus {
5     /** A successful result. */
6     sealed interface Success : CredentialStatus {
7         /** The credential is valid and a [hat] has been generated. */
8         data class Verified(val hat: ByteArray) : Success
9     }
10     /** A failed result. */
11     sealed interface Fail : CredentialStatus {
12         val error: String?
13 
14         /** The credential check failed with an [error]. */
15         data class Error(
16             override val error: String? = null,
17             val remainingAttempts: Int? = null,
18             val urgentMessage: String? = null,
19         ) : Fail
20         /** The credential check failed with an [error] and is temporarily locked out. */
21         data class Throttled(override val error: String) : Fail
22     }
23 }
24