curtain batch control design

This commit is contained in:
ashrafzarkanisala
2024-09-12 11:21:51 +03:00
parent 28579e0778
commit 3171916faf
4 changed files with 101 additions and 6 deletions

View File

@ -12,6 +12,7 @@ class CurtainBloc extends Bloc<CurtainEvent, CurtainState> {
CurtainBloc({required this.deviceId}) : super(CurtainInitial()) {
on<CurtainFetchDeviceStatus>(_onFetchDeviceStatus);
on<CurtainFetchBatchStatus>(_onFetchBatchStatus);
on<CurtainControl>(_onCurtainControl);
}
@ -88,4 +89,19 @@ class CurtainBloc extends Bloc<CurtainEvent, CurtainState> {
bool _checkStatus(String command) {
return command.toLowerCase() == 'open';
}
FutureOr<void> _onFetchBatchStatus(
CurtainFetchBatchStatus event, Emitter<CurtainState> emit) async {
emit(CurtainStatusLoading());
try {
final status =
await DevicesManagementApi().getDeviceStatus(event.deviceId);
deviceStatus = _checkStatus(status.status[0].value);
emit(CurtainStatusLoaded(deviceStatus));
} catch (e) {
emit(CurtainError(e.toString()));
}
}
}