blob: 471bac16642ba9b1550ea935e1b8a0864d111e98 [file] [log] [blame]
package com.android.keyguard
import android.annotation.CurrentTimeMillisLong
import android.hardware.biometrics.BiometricAuthenticator.Modality
import android.hardware.biometrics.BiometricAuthenticator.TYPE_FACE
import android.hardware.biometrics.BiometricAuthenticator.TYPE_FINGERPRINT
/** Verbose logging for various keyguard listening states. */
sealed class KeyguardListenModel {
/** Timestamp of the state change. */
abstract val timeMillis: Long
/** Current user */
abstract val userId: Int
/** If keyguard is listening for the given [modality]. */
abstract val listening: Boolean
/** Sensor type */
@Modality abstract val modality: Int
}
/**
* Verbose debug information associated with [KeyguardUpdateMonitor.shouldListenForFingerprint].
*/
data class KeyguardFingerprintListenModel(
@CurrentTimeMillisLong override val timeMillis: Long,
override val userId: Int,
override val listening: Boolean,
// keep sorted
val biometricEnabledForUser: Boolean,
val bouncer: Boolean,
val canSkipBouncer: Boolean,
val credentialAttempted: Boolean,
val deviceInteractive: Boolean,
val dreaming: Boolean,
val encryptedOrLockdown: Boolean,
val fingerprintDisabled: Boolean,
val fingerprintLockedOut: Boolean,
val goingToSleep: Boolean,
val keyguardGoingAway: Boolean,
val keyguardIsVisible: Boolean,
val keyguardOccluded: Boolean,
val occludingAppRequestingFp: Boolean,
val primaryUser: Boolean,
val shouldListenForFingerprintAssistant: Boolean,
val switchingUser: Boolean,
val udfps: Boolean,
val userDoesNotHaveTrust: Boolean
) : KeyguardListenModel() {
override val modality: Int = TYPE_FACE
}
/**
* Verbose debug information associated with [KeyguardUpdateMonitor.shouldListenForFace].
*/
data class KeyguardFaceListenModel(
@CurrentTimeMillisLong override val timeMillis: Long,
override val userId: Int,
override val listening: Boolean,
// keep sorted
val authInterruptActive: Boolean,
val becauseCannotSkipBouncer: Boolean,
val biometricSettingEnabledForUser: Boolean,
val bouncer: Boolean,
val faceAuthenticated: Boolean,
val faceDisabled: Boolean,
val keyguardAwake: Boolean,
val keyguardGoingAway: Boolean,
val listeningForFaceAssistant: Boolean,
val lockIconPressed: Boolean,
val occludingAppRequestingFaceAuth: Boolean,
val primaryUser: Boolean,
val scanningAllowedByStrongAuth: Boolean,
val secureCameraLaunched: Boolean,
val switchingUser: Boolean
) : KeyguardListenModel() {
override val modality: Int = TYPE_FINGERPRINT
}