scanResults property

  1. @override
Stream<List<ScanDevice>> get scanResults
override

Stream of discovered devices.

Implementation

@override
Stream<List<ScanDevice>> get scanResults {
  _scanResults ??= eventChannel
      .receiveBroadcastStream()
      .map((e) {
        if (e is! List) return <ScanDevice>[];
        return e
            .whereType<Map>()
            .map((i) {
              try {
                return ScanDevice.fromMap(Map<String, dynamic>.from(i));
              } catch (_) {
                return null;
              }
            })
            .whereType<ScanDevice>()
            .toList();
      })
      .handleError((_) {});
  return _scanResults!;
}