initHardwareScanStream method
Implementation
Future<Stream<String>> initHardwareScanStream() async {
isScannerDevice = false;
try {
_scanController = StreamController<String>();
if (kIsWeb || Platform.isIOS) {
return _keyboardStream();
}
_honeywellScanner ??= HoneywellScanner();
if (await _honeywellScanner!.isSupported()) {
_setHoneywellListener();
await _honeywellScanner!.startScanner();
isScannerDevice = true;
} else if (await _isISafeDevice()) {
isScannerDevice = true;
return _keyboardStream();
} else {
_zebraScanSubscription ??= await _getZebraScanSub();
isScannerDevice = true;
}
return _scanController!.stream;
} catch (_) {
return _keyboardStream();
}
}