getConnectionStatusStream method
Get device connection status stream
Implementation
@override
Stream<ESPConnectionStatus> getConnectionStatusStream(String deviceId) {
if (!_connectionControllers.containsKey(deviceId)) {
_connectionControllers[deviceId] =
StreamController<ESPConnectionStatus>.broadcast();
connectionEventChannel
.receiveBroadcastStream(deviceId)
.listen(
(event) {
if (event is String) {
final status = ESPConnectionStatus.values.firstWhere(
(e) => e.name == event,
orElse: () => ESPConnectionStatus.disconnected,
);
_connectionControllers[deviceId]?.add(status);
}
},
onError: (error) {
_connectionControllers[deviceId]?.addError(error);
},
);
}
return _connectionControllers[deviceId]!.stream;
}