otaProgressStream property
Implementation
@override
Stream<OTAProgress> get otaProgressStream {
_otaStreamController?.close();
_otaStreamController = StreamController<OTAProgress>.broadcast();
_otaEventChannel.receiveBroadcastStream().listen(
(dynamic event) {
if (event is Map) {
try {
final progress =
OTAProgress.fromMap(Map<String, dynamic>.from(event));
_otaStreamController?.add(progress);
} catch (e) {
debugPrint('Error parsing OTA progress: $e');
}
}
},
onError: (dynamic error) {
debugPrint('OTA stream error: $error');
_otaStreamController?.addError(error);
},
onDone: () {
_otaStreamController?.close();
},
);
return _otaStreamController!.stream;
}