startScan method

Future<void> startScan()

Implementation

Future<void> startScan() async {
  try {
    await FlutterBluePlus.startScan();
    if (Platform.isAndroid) {
      _devicesstream.add((await FlutterBluePlus.systemDevices)
          .map((e) => Printer(
                address: e.remoteId.str,
                name: e.platformName,
                connectionType: ConnectionType.BLE,
                isConnected: e.isConnected,
              ))
          .toList());
      // Bonded devices
      _devicesstream.add((await FlutterBluePlus.bondedDevices)
          .map((e) => Printer(
                address: e.remoteId.str,
                name: e.platformName,
                connectionType: ConnectionType.BLE,
                isConnected: e.isConnected,
              ))
          .toList());
    }
    subscription = FlutterBluePlus.scanResults.listen((device) {
      _devicesstream.add(
        device.map(
          (e) {
            return Printer(
              address: e.device.remoteId.str,
              name: e.device.platformName,
              connectionType: ConnectionType.BLE,
              isConnected: e.device.isConnected,
            );
          },
        ).toList(),
      );
    });
  } catch (e) {
    log('Failed to start scanning for devices $e');
  }
}