Skip to main content

Example: Scanner

Target audience: consumers of the integration layer.

For scanner rules, see Scanner.

class ScannerViewModel : ViewModel() {
private val terminal = ApiModule.terminal

private val _latestCode = MutableStateFlow<String?>(null)
val latestCode: StateFlow<String?> = _latestCode

init {
terminal.initializeScanner()

viewModelScope.launch {
terminal.scannedCode.collect { code ->
_latestCode.value = code
}
}
}
}
ApiModule.terminal.startScanner(
activity = activity,
behavior = ScanBehavior.SINGLE,
)