getProvisioningStatusStream method
Get provisioning status stream
Implementation
@override
Stream<ESPProvisionStatus> getProvisioningStatusStream(String deviceId) {
if (!_provisioningControllers.containsKey(deviceId)) {
_provisioningControllers[deviceId] =
StreamController<ESPProvisionStatus>.broadcast();
provisioningEventChannel
.receiveBroadcastStream(deviceId)
.listen(
(event) {
if (event is String) {
final status = ESPProvisionStatus.values.firstWhere(
(e) => e.name == event,
orElse: () => ESPProvisionStatus.failed,
);
_provisioningControllers[deviceId]?.add(status);
}
},
onError: (error) {
_provisioningControllers[deviceId]?.addError(error);
},
);
}
return _provisioningControllers[deviceId]!.stream;
}