FingerprintReaderSession
com.sladeid.biometric.capture.reader.FingerprintReaderSession — a stateful capture session bound to one reader. Created via SladeID.createFingerprintReaderSession. All capture/submit methods are suspend and return null on a handled failure (emitted on errors).
Flows
| Property | Type | Description |
|---|---|---|
state | StateFlow<ReaderState> | Lifecycle: Ready → Scanning → Captured / Error |
result | SharedFlow<ReaderCaptureResult> | Emitted by capture() |
errors | SharedFlow<SladeIDError> | Every handled failure |
readerInfo | ReaderInfo | The bound reader’s identity |
Methods
capture(position: Int): ReaderCaptureResult?
Capture a quality-gated image without submitting — a device self-test. Credential-gated: validates credentials with the Slade ID service before activating the reader; on rejection returns null and emits an AuthError without turning the sensor on. position must be 0..10.
enroll(enrollee, position, agentId? = null, isMinor? = false, attachments? = null): EnrollmentResult?
Capture and enroll a finger — stores an unverified print. Returns EnrollmentResult.
verifyEnrollment(enrollee, position, agentId? = null, isMinor? = false, attachments? = null): VerificationResult?
Enrollment step 2: capture the same finger again and promote the unverified print to verified on a match. Returns VerificationResult — check positionVerified, attemptsRemaining, requiresReenroll.
match(enrollee, position, agentId? = null, isMinor? = false, attachments? = null): MatchResult?
1:1 verification against an already-enrolled enrollee. Proves a claimed identity; does not change stored state. Returns MatchResult. matched = false is a normal result.
search(position = 0, agentId? = null): SearchResult?
1:N search for the best-matching enrollee. Returns SearchResult (single best, not a ranked list).
fetchEnrolled(enrollee): EnrolledFingerprints?
Metadata lookup of a subject’s enrolled fingerprints — no hardware, no capture. Returns EnrolledFingerprints. Use to resume a paused enrollment.
close()
Release the bound reader’s vendor handles.
Parameters shared by capture methods
enrollee: String— subject id (e.g. a CR number).position: Int— ISO 19794-4 finger position,0..10.agentId: String?— optional initiator id (attribution).isMinor: Boolean— apply relaxed server-side quality checks.attachments: Map<String, String>?— free-form metadata forwarded to the backend.