allCellInfoStream property

  1. @override
Stream<List<SignalNr>> get allCellInfoStream
override

Implementation

@override
Stream<List<SignalNr>> get allCellInfoStream{
  return allCellInfoEventChannel.receiveBroadcastStream().asyncMap((event) async {
    final rawList = event as List<dynamic>;
    final signals = await Future.wait(rawList.map((e) async {
      var signalNr = SignalNr.fromJson(Map<String, dynamic>.from(e));
      if (signalNr.arfcn != null) {
        if (signalNr.type == 0) {
          signalNr.freq = nrArfcnToFrequency(signalNr.arfcn!);
          signalNr.band =
              convert2Band(await getNrBandForArfcn(signalNr.arfcn!));
        } else if (signalNr.type == 1) {
          final bandInfo = LteFrequencyConverter.getLteBandInfoFromEarfcn(signalNr.arfcn!);
          signalNr.freq = bandInfo.dlFreq;
          signalNr.band = "${bandInfo.band}";
        }
      }
      return signalNr;
    }));
    return signals;
  }).handleError((error) {
    throw Exception("allCellInfoStream...$error");
  });
}