receiveBeacons static method

Stream<List<Beacon>> receiveBeacons()

Starts scanning for beacons and listens for beacon data.

Implementation

static Stream<List<Beacon>> receiveBeacons() {
  return _eventChannel
      .receiveBroadcastStream()
      .map((dynamic event) {
        List<Beacon> receivedBeacons = event as List<Object?> == List.empty()
            ? []
            : (event).map((e) => Beacon.fromJson(e as Map)).toList();
        beaconStateController.add(BeaconState.scanning);
        return receivedBeacons;
      })
      .handleError((error) {
        stopScan();
        beaconStateController.add(BeaconState.bluetoothOff);
      });
}