Results & types
The data classes returned by FingerprintReaderSession methods.
EnrollmentResult
Returned by enroll. Reflects the enrollee’s cumulative state after storing an unverified print.
data class EnrollmentResult(
val verified: List<Int>, // positions currently verified
val nonVerified: List<Int>, // positions captured but not yet verified
val total: Int, // total stored prints for the enrollee
val enrollmentStatus: String, // "partially_enrolled" | "fully_enrolled"
val notes: String?, // optional enrollment notes
)VerificationResult
Returned by verifyEnrollment.
data class VerificationResult(
val positionVerified: Boolean, // did THIS position verify on this call
val verified: List<Int>,
val nonVerified: List<Int>,
val total: Int,
val enrollmentStatus: String,
val attemptsRemaining: Int?, // verify budget, when the server reports it
val requiresReenroll: Boolean, // true once the finger was reset
val message: String?,
val notes: String?,
)MatchResult
Returned by match (1:1). matched = false is a normal non-match.
data class MatchResult(
val matched: Boolean,
val score: Double?, // similarity (higher is stronger)
val matchedPosition: Int?,
val message: String?,
)SearchResult
Returned by search (1:N). A single best result, not a ranked list.
data class SearchResult(
val matched: Boolean,
val enrollee: String?, // best-matching enrollee id (null on no match)
val similarity: Double?,
val matchScore: Double?,
)EnrolledFingerprints
Returned by fetchEnrolled. A hardware-free metadata lookup.
data class EnrolledFingerprints(
val verified: List<Int>,
val nonVerified: List<Int>,
val total: Int,
val enrollmentStatus: String, // "partially_enrolled" | "fully_enrolled"
val notes: String?,
)ReaderCaptureResult
Returned by capture and emitted on session.result.
data class ReaderCaptureResult(
val position: Int, // 0..10
val imageBase64: String, // NO_WRAP base64 PNG
val imageByteCount: Int,
)ReaderInfo
An item in ReaderManager.readers; identifies a connected reader.
data class ReaderInfo(
val id: String, // reader serial — pass to createFingerprintReaderSession
val name: String, // vendor/model name
val displayName: String, // human-facing name
val vendorId: Int, // USB vendor id
)ReaderState
The sealed state emitted on session.state. See Capture lifecycle.
sealed class ReaderState {
data object Ready : ReaderState()
data class Scanning(val position: Int) : ReaderState()
data class Captured(val position: Int) : ReaderState()
data class Error(val error: SladeIDError) : ReaderState()
}