getProgress method
Implementation
Stream<UploadProgressData> getProgress(String uploadId) {
_controllers.putIfAbsent(
uploadId, () => StreamController<UploadProgressData>.broadcast());
_service.getUploadProgress(uploadId).listen((p) {
_controllers[uploadId]?.add(p);
if (p.progress >= 1.0) {
Future.delayed(const Duration(seconds: 2), () {
_controllers[uploadId]?.close();
_controllers.remove(uploadId);
});
}
});
return _controllers[uploadId]!.stream;
}