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