4 and 6 scene

This commit is contained in:
mohammad
2024-11-24 10:48:25 +03:00
parent 9f02ce8a31
commit 3d17c588c5
15 changed files with 210 additions and 164 deletions
@@ -34,7 +34,7 @@ class SixSceneBloc extends Bloc<SixSceneEvent, SixSceneState> {
on<SearchScenesEvent>(searchScene);
on<SaveSelectionEvent>(_onSaveSelection);
on<SelectOptionEvent>(_onOptionSelected);
on<AddDeviceToGroup>(_addDeviceToGroup); // Register handler here
on<AddDeviceToGroup>(_addDeviceToGroup);
on<RemoveDeviceFromGroup>(_removeDeviceFromGroup);
on<SexSceneSwitchInitial>(_fetchFourSceneSwitches);
on<AssignDeviceScene>(assignScene);
@@ -45,6 +45,7 @@ class SixSceneBloc extends Bloc<SixSceneEvent, SixSceneState> {
on<AssignRoomEvent>(_assignDevice);
on<FetchRoomsEvent>(_fetchRoomsAndDevices);
on<SixSceneInitialQuestion>(_onSixSceneInitial);
on<DeleteDeviceEvent>(deleteDevice);
}
final TextEditingController nameController =
@@ -138,6 +139,17 @@ class SixSceneBloc extends Bloc<SixSceneEvent, SixSceneState> {
}
}
deleteDevice(DeleteDeviceEvent event, Emitter<SixSceneState> emit) async {
try {
emit(SixSceneLoadingState());
var response = await DevicesAPI.resetDevise(devicesUuid: sixSceneId);
add(const SixSceneInitialInfo());
CustomSnackBar.displaySnackBar('Reset Successfully');
} catch (e) {
emit(SixSceneFailedState(errorMessage: e.toString()));
}
}
Future<void> saveName(
SaveNameEvent event, Emitter<SixSceneState> emit) async {
if (_validateInputs()) return;
@@ -358,11 +370,14 @@ class SixSceneBloc extends Bloc<SixSceneEvent, SixSceneState> {
sixSceneId);
deviceStatus.switch_backlight = switchStatus;
add(const SixSceneInitial());
add(const SexSceneSwitchInitial());
Future.delayed(const Duration(milliseconds: 250), () {
add(const SexSceneSwitchInitial());
});
emit(ChangeSwitchState(isEnable: switchStatus));
emit(UpdateState(device: deviceStatus));
Future.delayed(const Duration(milliseconds: 250), () {
emit(ChangeSwitchState(isEnable: switchStatus));
emit(UpdateState(device: deviceStatus));
});
} catch (_) {
emit(const SixSceneFailedState(errorMessage: 'Something went wrong'));
}
@@ -116,6 +116,7 @@ class TickTimer extends SixSceneEvent {
class StopTimer extends SixSceneEvent {}
class OnClose extends SixSceneEvent {}
class DeleteDeviceEvent extends SixSceneEvent {}
class ChangeNameEvent extends SixSceneEvent {
final bool? value;
@@ -42,11 +42,11 @@ class FourSceneBloc extends Bloc<FourSceneEvent, FourSceneState> {
on<RemoveDeviceFromGroup>(_removeDeviceFromGroup);
on<FourSceneInitialQuestion>(_onFourSceneInitial);
on<FetchDeviceScene>(_fetchDeviceScene);
on<ControlDeviceScene>(_controlDevice);
on<FourSceneSwitchInitial>(_fetchFourSceneSwitches);
on<AssignDeviceScene>(assignScene);
on<GetSceneBySwitchName>(getSceneByName);
on<SelectSceneEvent>(_selectScene);
on<DeleteDeviceEvent>(deleteDevice);
}
final TextEditingController nameController =
@@ -190,6 +190,18 @@ class FourSceneBloc extends Bloc<FourSceneEvent, FourSceneState> {
}
}
deleteDevice(DeleteDeviceEvent event, Emitter<FourSceneState> emit) async {
try {
emit(FourSceneLoadingState());
var response = await DevicesAPI.resetDevise(devicesUuid: fourSceneId);
CustomSnackBar.displaySnackBar('Reset Successfully');
emit(UpdateState(device: deviceStatus));
} catch (e) {
emit(FourSceneFailedState(errorMessage: e.toString()));
return;
}
}
void _fetchDeviceStatus(
FourSceneInitial event, Emitter<FourSceneState> emit) async {
emit(FourSceneLoadingState());
@@ -246,26 +258,26 @@ class FourSceneBloc extends Bloc<FourSceneEvent, FourSceneState> {
}
}
void _controlDevice(
ControlDeviceScene event, Emitter<FourSceneState> emit) async {
emit(FourSceneLoadingState());
try {
deviceStatus.switch_backlight = !event.backLight!;
emit(UpdateState(device: deviceStatus));
final response = await DevicesAPI.controlDevice(
DeviceControlModel(
deviceId: fourSceneId,
code: 'switch_backlight',
value: !event.backLight!),
fourSceneId);
// void _controlDevice(
// ControlDeviceScene event, Emitter<FourSceneState> emit) async {
// emit(FourSceneLoadingState());
// try {
// deviceStatus.switch_backlight = !event.backLight!;
// emit(UpdateState(device: deviceStatus));
// final response = await DevicesAPI.controlDevice(
// DeviceControlModel(
// deviceId: fourSceneId,
// code: 'switch_backlight',
// value: !event.backLight!),
// fourSceneId);
if (!response['success']) {
// add(InitialEvent(groupScreen: oneTouchGroup));
}
} catch (_) {
// add(InitialEvent(groupScreen: oneTouchGroup));
}
}
// if (!response['success']) {
// // add(InitialEvent(groupScreen: oneTouchGroup));
// }
// } catch (_) {
// // add(InitialEvent(groupScreen: oneTouchGroup));
// }
// }
Future fetchDeviceInfo(
FourSceneInitialInfo event, Emitter<FourSceneState> emit) async {
@@ -394,9 +406,13 @@ class FourSceneBloc extends Bloc<FourSceneEvent, FourSceneState> {
value: switchStatus),
fourSceneId);
deviceStatus.switch_backlight = switchStatus;
add(const FourSceneInitial());
emit(ChangeSwitchState(isEnable: switchStatus));
Future.delayed(const Duration(milliseconds: 200), () {
add(const FourSceneSwitchInitial());
});
Future.delayed(const Duration(milliseconds: 200), () {
emit(ChangeSwitchState(isEnable: switchStatus));
emit(UpdateState(device: deviceStatus));
});
} catch (_) {
add(const FourSceneInitial());
}
@@ -108,6 +108,7 @@ class TickTimer extends FourSceneEvent {
class StopTimer extends FourSceneEvent {}
class OnClose extends FourSceneEvent {}
class DeleteDeviceEvent extends FourSceneEvent {}
class ChangeNameEvent extends FourSceneEvent {
final bool? value;
@@ -206,10 +207,6 @@ class AssignRoomEvent extends FourSceneEvent {
class FetchDeviceScene extends FourSceneEvent {}
class ControlDeviceScene extends FourSceneEvent {
final bool? backLight;
const ControlDeviceScene({this.backLight});
}
class FourSceneSwitchInitial extends FourSceneEvent {
const FourSceneSwitchInitial();