Secure QRScanner
class SecureQRScanner(headerPrefixes: List<String> = listOf(
"mDLQR:v2?",
"mDLQR%3Av2?"
), assemblyTimeoutMs: Long, maxSessionAgeMs: Long)
Thread-safe streaming QR assembler for SecureQR v2 frames.
Accumulates frames by session id (id=...).
Assembles once all frames 0..m-1 are present.
Strips last-frame padding (p=...).
Decodes v2 transport payload -> SD-JWT combined presentation.
Evicts old sessions (maxSessionAgeMs).
If you still want "soft assemble after timeout", set assemblyTimeoutMs> 0.