Resume enrollment
Enrollment can be interrupted — the app closes, the reader unplugs, the session ends. Resume by asking the server which fingers are already done, then capturing only what’s missing. fetchEnrolled needs no hardware.
val state = session.fetchEnrolled(enrollee) ?: return
when (state.enrollmentStatus) {
"fully_enrolled" -> return // nothing to do
else -> {
val done = state.verified.toSet()
val remaining = targetPositions.filter { it !in done }
// capture only `remaining` — see Enroll a fingerprint
}
}What fetchEnrolled tells you
EnrolledFingerprints:
verified— positions complete. Skip these.nonVerified— positions captured but still awaiting their verify capture. Finish these withverifyEnrollment.total— count of stored prints for the subject.enrollmentStatus—"partially_enrolled"or"fully_enrolled".notes— optional server-supplied enrollment notes.
Detecting a reset
If a finger you expected has vanished from both verified and nonVerified, the backend reset it (verify attempts exhausted). Re-enroll it from scratch: enroll then verifyEnrollment. See Fingerprint enrollment.