WmsScanner constructor

WmsScanner({
  1. bool enableBluetoothScanner = false,
  2. bool enableDT50Scanner = true,
})

Implementation

WmsScanner({
  this.enableBluetoothScanner = false,
  this.enableDT50Scanner = true,
}) {
  // On Android need to disable keyboard toolbar for hardware keyboard
  if (enableBluetoothScanner) {
    ServicesBinding.instance.keyboard.addHandler(_bluetoothScannerHandler);
  }

  if (Platform.isAndroid && enableDT50Scanner) {
    _receiver = BroadcastReceiver(
      names: <String>[
        _dt50Intent,
        _fibeterIntent,
      ],
    );

    _receiver!.messages.listen((intent) {
      if (intent.name == _dt50Intent) {
        final String barcode = intent.data!["barcode_string"] as String;
        _controller?.add(barcode);
      } else if (intent.name == _fibeterIntent) {
        final String barcode = intent.data!["data"] as String;
        _controller?.add(barcode);
      }
    });
  }

  _controller = StreamController<String>.broadcast();
  if (_receiver != null) {
    _receiver!.start();
  }
}