diff --git a/lib/features/devices/bloc/acs_bloc/acs_bloc.dart b/lib/features/devices/bloc/acs_bloc/acs_bloc.dart index c8a8350..3a6564d 100644 --- a/lib/features/devices/bloc/acs_bloc/acs_bloc.dart +++ b/lib/features/devices/bloc/acs_bloc/acs_bloc.dart @@ -61,10 +61,11 @@ class ACsBloc extends Bloc { for (var status in response['status']) { statusModelList.add(StatusModel.fromJson(status)); } - deviceStatus = AcStatusModel.fromJson(response['productUuid'], statusModelList); + deviceStatus = + AcStatusModel.fromJson(response['productUuid'], statusModelList); emit(GetAcStatusState(acStatusModel: deviceStatus)); Future.delayed(const Duration(milliseconds: 500)); - _listenToChanges(); + // _listenToChanges(); } } catch (e) { emit(AcsFailedState(errorMessage: e.toString())); @@ -74,18 +75,22 @@ class ACsBloc extends Bloc { _listenToChanges() { try { - DatabaseReference ref = FirebaseDatabase.instance.ref('device-status/$acId'); + DatabaseReference ref = + FirebaseDatabase.instance.ref('device-status/$acId'); Stream stream = ref.onValue; stream.listen((DatabaseEvent event) { - Map usersMap = event.snapshot.value as Map; + Map usersMap = + event.snapshot.value as Map; List statusList = []; usersMap['status'].forEach((element) { - statusList.add(StatusModel(code: element['code'], value: element['value'])); + statusList + .add(StatusModel(code: element['code'], value: element['value'])); }); - deviceStatus = AcStatusModel.fromJson(usersMap['productUuid'], statusList); + deviceStatus = + AcStatusModel.fromJson(usersMap['productUuid'], statusList); add(AcUpdated()); }); } catch (_) {} @@ -102,12 +107,14 @@ class ACsBloc extends Bloc { HomeCubit.getInstance().selectedSpace?.id ?? '', 'AC'); for (int i = 0; i < devicesList.length; i++) { - var response = await DevicesAPI.getDeviceStatus(devicesList[i].uuid ?? ''); + var response = + await DevicesAPI.getDeviceStatus(devicesList[i].uuid ?? ''); List statusModelList = []; for (var status in response['status']) { statusModelList.add(StatusModel.fromJson(status)); } - deviceStatusList.add(AcStatusModel.fromJson(response['productUuid'], statusModelList)); + deviceStatusList.add( + AcStatusModel.fromJson(response['productUuid'], statusModelList)); } _setAllAcsTempsAndSwitches(); } @@ -129,7 +136,8 @@ class ACsBloc extends Bloc { emit(AcModifyingState(acStatusModel: deviceStatus)); } - await _runDeBouncerForOneDevice(deviceId: event.deviceId, code: 'switch', value: acSwitchValue); + await _runDeBouncerForOneDevice( + deviceId: event.deviceId, code: 'switch', value: acSwitchValue); } void _changeAllAcSwitch(ChangeAllSwitch event, Emitter emit) async { @@ -190,7 +198,8 @@ class ACsBloc extends Bloc { deviceStatus.childLock = lockValue; emit(AcModifyingState(acStatusModel: deviceStatus)); - await _runDeBouncerForOneDevice(deviceId: acId, code: 'child_lock', value: lockValue); + await _runDeBouncerForOneDevice( + deviceId: acId, code: 'child_lock', value: lockValue); } void _increaseCoolTo(IncreaseCoolToTemp event, Emitter emit) async { @@ -218,7 +227,8 @@ class ACsBloc extends Bloc { emit(AcModifyingState(acStatusModel: deviceStatus)); } - await _runDeBouncerForOneDevice(deviceId: event.deviceId, code: 'temp_set', value: value); + await _runDeBouncerForOneDevice( + deviceId: event.deviceId, code: 'temp_set', value: value); } void _decreaseCoolTo(DecreaseCoolToTemp event, Emitter emit) async { @@ -246,7 +256,8 @@ class ACsBloc extends Bloc { emit(AcModifyingState(acStatusModel: deviceStatus)); } - await _runDeBouncerForOneDevice(deviceId: event.deviceId, code: 'temp_set', value: value); + await _runDeBouncerForOneDevice( + deviceId: event.deviceId, code: 'temp_set', value: value); } void _changeAcMode(ChangeAcMode event, Emitter emit) async { @@ -268,7 +279,9 @@ class ACsBloc extends Bloc { } await _runDeBouncerForOneDevice( - deviceId: event.deviceId, code: 'mode', value: getACModeString(tempMode)); + deviceId: event.deviceId, + code: 'mode', + value: getACModeString(tempMode)); } void _changeFanSpeed(ChangeFanSpeed event, Emitter emit) async { @@ -281,19 +294,23 @@ class ACsBloc extends Bloc { for (AcStatusModel ac in deviceStatusList) { if (ac.uuid == event.productId) { ac.fanSpeedsString = getNextFanSpeedKey(fanSpeed); - ac.acFanSpeed = AcStatusModel.getFanSpeed(getNextFanSpeedKey(fanSpeed)); + ac.acFanSpeed = + AcStatusModel.getFanSpeed(getNextFanSpeedKey(fanSpeed)); } } _emitAcsStatus(emit); } else { emit(AcChangeLoading(acStatusModel: deviceStatus)); deviceStatus.fanSpeedsString = getNextFanSpeedKey(fanSpeed); - deviceStatus.acFanSpeed = AcStatusModel.getFanSpeed(getNextFanSpeedKey(fanSpeed)); + deviceStatus.acFanSpeed = + AcStatusModel.getFanSpeed(getNextFanSpeedKey(fanSpeed)); emit(AcModifyingState(acStatusModel: deviceStatus)); } await _runDeBouncerForOneDevice( - deviceId: event.deviceId, code: 'level', value: getNextFanSpeedKey(fanSpeed)); + deviceId: event.deviceId, + code: 'level', + value: getNextFanSpeedKey(fanSpeed)); } String getACModeString(TempModes value) { @@ -338,7 +355,8 @@ class ACsBloc extends Bloc { for (int i = 0; i < deviceStatusList.length; i++) { try { await DevicesAPI.controlDevice( - DeviceControlModel(deviceId: devicesList[i].uuid, code: code, value: value), + DeviceControlModel( + deviceId: devicesList[i].uuid, code: code, value: value), devicesList[i].uuid ?? ''); } catch (_) { await Future.delayed(const Duration(milliseconds: 500)); @@ -360,7 +378,10 @@ class ACsBloc extends Bloc { _timer = Timer(const Duration(seconds: 1), () async { try { final response = await DevicesAPI.controlDevice( - DeviceControlModel(deviceId: allAcsPage ? deviceId : acId, code: code, value: value), + DeviceControlModel( + deviceId: allAcsPage ? deviceId : acId, + code: code, + value: value), allAcsPage ? deviceId : acId); if (!response['success']) { @@ -377,7 +398,8 @@ class ACsBloc extends Bloc { if (value >= 20 && value <= 30) { return true; } else { - emit(const AcsFailedState(errorMessage: 'The temperature must be between 20 and 30')); + emit(const AcsFailedState( + errorMessage: 'The temperature must be between 20 and 30')); emit(GetAllAcsStatusState( allAcsStatues: deviceStatusList, allAcs: devicesList, diff --git a/lib/features/devices/bloc/ceiling_bloc/ceiling_sensor_bloc.dart b/lib/features/devices/bloc/ceiling_bloc/ceiling_sensor_bloc.dart index 536df9b..ce50e64 100644 --- a/lib/features/devices/bloc/ceiling_bloc/ceiling_sensor_bloc.dart +++ b/lib/features/devices/bloc/ceiling_bloc/ceiling_sensor_bloc.dart @@ -19,7 +19,8 @@ class CeilingSensorBloc extends Bloc { on(_onCeilingSensorUpdated); } - void _fetchCeilingSensorStatus(InitialEvent event, Emitter emit) async { + void _fetchCeilingSensorStatus( + InitialEvent event, Emitter emit) async { emit(LoadingInitialState()); try { var response = await DevicesAPI.getDeviceStatus(deviceId); @@ -29,7 +30,7 @@ class CeilingSensorBloc extends Bloc { } deviceStatus = CeilingSensorModel.fromJson(statusModelList); emit(UpdateState(ceilingSensorModel: deviceStatus)); - _listenToChanges(); + // _listenToChanges(); } catch (e) { emit(FailedState(error: e.toString())); return; @@ -38,15 +39,18 @@ class CeilingSensorBloc extends Bloc { _listenToChanges() { try { - DatabaseReference ref = FirebaseDatabase.instance.ref('device-status/$deviceId'); + DatabaseReference ref = + FirebaseDatabase.instance.ref('device-status/$deviceId'); Stream stream = ref.onValue; stream.listen((DatabaseEvent event) { - Map usersMap = event.snapshot.value as Map; + Map usersMap = + event.snapshot.value as Map; List statusList = []; usersMap['status'].forEach((element) { - statusList.add(StatusModel(code: element['code'], value: element['value'])); + statusList + .add(StatusModel(code: element['code'], value: element['value'])); }); deviceStatus = CeilingSensorModel.fromJson(statusList); @@ -55,15 +59,19 @@ class CeilingSensorBloc extends Bloc { } catch (_) {} } - _onCeilingSensorUpdated(CeilingSensorUpdated event, Emitter emit) { + _onCeilingSensorUpdated( + CeilingSensorUpdated event, Emitter emit) { emit(UpdateState(ceilingSensorModel: deviceStatus)); } - void _changeValue(ChangeValueEvent event, Emitter emit) async { + void _changeValue( + ChangeValueEvent event, Emitter emit) async { emit(LoadingNewSate(ceilingSensorModel: deviceStatus)); try { final response = await DevicesAPI.controlDevice( - DeviceControlModel(deviceId: deviceId, code: event.code, value: event.value), deviceId); + DeviceControlModel( + deviceId: deviceId, code: event.code, value: event.value), + deviceId); if (response['success'] ?? false) { deviceStatus.sensitivity = event.value; diff --git a/lib/features/devices/bloc/door_sensor_bloc/door_sensor_bloc.dart b/lib/features/devices/bloc/door_sensor_bloc/door_sensor_bloc.dart index 213dbeb..4747405 100644 --- a/lib/features/devices/bloc/door_sensor_bloc/door_sensor_bloc.dart +++ b/lib/features/devices/bloc/door_sensor_bloc/door_sensor_bloc.dart @@ -43,7 +43,7 @@ class DoorSensorBloc extends Bloc { ); emit(UpdateState(doorSensor: deviceStatus)); Future.delayed(const Duration(milliseconds: 500)); - _listenToChanges(); + // _listenToChanges(); } catch (e) { emit(DoorSensorFailedState(errorMessage: e.toString())); return; diff --git a/lib/features/devices/bloc/garage_door_bloc/garage_door_bloc.dart b/lib/features/devices/bloc/garage_door_bloc/garage_door_bloc.dart index 4ef8143..ee47e94 100644 --- a/lib/features/devices/bloc/garage_door_bloc/garage_door_bloc.dart +++ b/lib/features/devices/bloc/garage_door_bloc/garage_door_bloc.dart @@ -77,7 +77,7 @@ class GarageDoorBloc extends Bloc { toggleDoor = deviceStatus.switch1; emit(UpdateState(garageSensor: deviceStatus)); Future.delayed(const Duration(milliseconds: 500)); - _listenToChanges(); + // _listenToChanges(); } catch (e) { emit(GarageDoorFailedState(errorMessage: e.toString())); return; diff --git a/lib/features/devices/bloc/one_gang_bloc/one_gang_bloc.dart b/lib/features/devices/bloc/one_gang_bloc/one_gang_bloc.dart index ae6a942..fc89c72 100644 --- a/lib/features/devices/bloc/one_gang_bloc/one_gang_bloc.dart +++ b/lib/features/devices/bloc/one_gang_bloc/one_gang_bloc.dart @@ -61,7 +61,7 @@ class OneGangBloc extends Bloc { } deviceStatus = OneGangModel.fromJson(statusModelList); emit(UpdateState(oneGangModel: deviceStatus)); - _listenToChanges(); + // _listenToChanges(); } catch (e) { emit(FailedState(error: e.toString())); return; diff --git a/lib/features/devices/bloc/one_touch_bloc/one_touch_bloc.dart b/lib/features/devices/bloc/one_touch_bloc/one_touch_bloc.dart index 313c2aa..644cf4d 100644 --- a/lib/features/devices/bloc/one_touch_bloc/one_touch_bloc.dart +++ b/lib/features/devices/bloc/one_touch_bloc/one_touch_bloc.dart @@ -65,7 +65,7 @@ class OneTouchBloc extends Bloc { } deviceStatus = OneTouchModel.fromJson(statusModelList); emit(UpdateState(oneTouchModel: deviceStatus)); - _listenToChanges(); + // _listenToChanges(); } catch (e) { emit(FailedState(error: e.toString())); return; diff --git a/lib/features/devices/bloc/smart_door_bloc/smart_door_bloc.dart b/lib/features/devices/bloc/smart_door_bloc/smart_door_bloc.dart index 236c623..f8f9563 100644 --- a/lib/features/devices/bloc/smart_door_bloc/smart_door_bloc.dart +++ b/lib/features/devices/bloc/smart_door_bloc/smart_door_bloc.dart @@ -37,7 +37,8 @@ class SmartDoorBloc extends Bloc { on(selectTimeOfLinePassword); on(selectTimeOnlinePassword); on(deletePassword); - on(generateAndSavePasswordTimeLimited); + on( + generateAndSavePasswordTimeLimited); on(generateAndSavePasswordOneTime); on(toggleDaySelection); on(_renamePassword); @@ -59,7 +60,8 @@ class SmartDoorBloc extends Bloc { List? oneTimePasswords = []; List? timeLimitPasswords = []; - Future generate7DigitNumber(GeneratePasswordEvent event, Emitter emit) async { + Future generate7DigitNumber( + GeneratePasswordEvent event, Emitter emit) async { emit(LoadingInitialState()); passwordController.clear(); Random random = Random(); @@ -71,7 +73,8 @@ class SmartDoorBloc extends Bloc { } Future generateAndSavePasswordOneTime( - GenerateAndSavePasswordOneTimeEvent event, Emitter emit) async { + GenerateAndSavePasswordOneTimeEvent event, + Emitter emit) async { try { if (isSavingPassword) return; isSavingPassword = true; @@ -92,7 +95,8 @@ class SmartDoorBloc extends Bloc { } } - void _fetchSmartDoorStatus(InitialEvent event, Emitter emit) async { + void _fetchSmartDoorStatus( + InitialEvent event, Emitter emit) async { try { emit(LoadingInitialState()); var response = await DevicesAPI.getDeviceStatus(deviceId); @@ -102,7 +106,7 @@ class SmartDoorBloc extends Bloc { } deviceStatus = SmartDoorModel.fromJson(statusModelList); emit(UpdateState(smartDoorModel: deviceStatus)); - _listenToChanges(); + // _listenToChanges(); } catch (e) { emit(FailedState(errorMessage: e.toString())); return; @@ -111,15 +115,18 @@ class SmartDoorBloc extends Bloc { _listenToChanges() { try { - DatabaseReference ref = FirebaseDatabase.instance.ref('device-status/$deviceId'); + DatabaseReference ref = + FirebaseDatabase.instance.ref('device-status/$deviceId'); Stream stream = ref.onValue; stream.listen((DatabaseEvent event) { - Map usersMap = event.snapshot.value as Map; + Map usersMap = + event.snapshot.value as Map; List statusList = []; usersMap['status'].forEach((element) { - statusList.add(StatusModel(code: element['code'], value: element['value'])); + statusList + .add(StatusModel(code: element['code'], value: element['value'])); }); deviceStatus = SmartDoorModel.fromJson(statusList); @@ -133,11 +140,14 @@ class SmartDoorBloc extends Bloc { emit(UpdateState(smartDoorModel: deviceStatus)); } - void _renamePassword(RenamePasswordEvent event, Emitter emit) async { + void _renamePassword( + RenamePasswordEvent event, Emitter emit) async { try { emit(LoadingInitialState()); await DevicesAPI.renamePass( - name: passwordNameController.text, doorLockUuid: deviceId, passwordId: passwordId); + name: passwordNameController.text, + doorLockUuid: deviceId, + passwordId: passwordId); add(InitialOneTimePassword()); add(InitialTimeLimitPassword()); emit(UpdateState(smartDoorModel: deviceStatus)); @@ -147,46 +157,58 @@ class SmartDoorBloc extends Bloc { } } - void getTemporaryPasswords(InitialPasswordsPage event, Emitter emit) async { + void getTemporaryPasswords( + InitialPasswordsPage event, Emitter emit) async { try { emit(LoadingInitialState()); var response = await DevicesAPI.getTemporaryPasswords( deviceId, ); if (response is List) { - temporaryPasswords = response.map((item) => TemporaryPassword.fromJson(item)).toList(); - } else if (response is Map && response.containsKey('data')) { temporaryPasswords = - (response['data'] as List).map((item) => TemporaryPassword.fromJson(item)).toList(); + response.map((item) => TemporaryPassword.fromJson(item)).toList(); + } else if (response is Map && response.containsKey('data')) { + temporaryPasswords = (response['data'] as List) + .map((item) => TemporaryPassword.fromJson(item)) + .toList(); } - emit(TemporaryPasswordsLoadedState(temporaryPassword: temporaryPasswords!)); + emit(TemporaryPasswordsLoadedState( + temporaryPassword: temporaryPasswords!)); } catch (e) { emit(FailedState(errorMessage: e.toString())); } } - void getOneTimePasswords(InitialOneTimePassword event, Emitter emit) async { + void getOneTimePasswords( + InitialOneTimePassword event, Emitter emit) async { try { emit(LoadingInitialState()); var response = await DevicesAPI.getOneTimePasswords(deviceId); if (response is List) { - oneTimePasswords = response.map((item) => OfflinePasswordModel.fromJson(item)).toList(); + oneTimePasswords = response + .map((item) => OfflinePasswordModel.fromJson(item)) + .toList(); } - emit(TemporaryPasswordsLoadedState(temporaryPassword: temporaryPasswords!)); + emit(TemporaryPasswordsLoadedState( + temporaryPassword: temporaryPasswords!)); } catch (e) { emit(FailedState(errorMessage: e.toString())); } } - void getTimeLimitPasswords(InitialTimeLimitPassword event, Emitter emit) async { + void getTimeLimitPasswords( + InitialTimeLimitPassword event, Emitter emit) async { try { emit(LoadingInitialState()); var response = await DevicesAPI.getTimeLimitPasswords(deviceId); if (response is List) { - timeLimitPasswords = response.map((item) => OfflinePasswordModel.fromJson(item)).toList(); + timeLimitPasswords = response + .map((item) => OfflinePasswordModel.fromJson(item)) + .toList(); } - emit(TemporaryPasswordsLoadedState(temporaryPassword: temporaryPasswords!)); + emit(TemporaryPasswordsLoadedState( + temporaryPassword: temporaryPasswords!)); } catch (e) { emit(FailedState(errorMessage: e.toString())); } @@ -207,7 +229,8 @@ class SmartDoorBloc extends Bloc { return repeat; } - bool setStartEndTime(SetStartEndTimeEvent event, Emitter emit) { + bool setStartEndTime( + SetStartEndTimeEvent event, Emitter emit) { emit(LoadingInitialState()); isStartEndTime = event.val; emit(IsStartEndState(isStartEndTime: isStartEndTime)); @@ -230,7 +253,8 @@ class SmartDoorBloc extends Bloc { emit(UpdateState(smartDoorModel: deviceStatus)); } - Future selectTimeOfLinePassword(SelectTimeEvent event, Emitter emit) async { + Future selectTimeOfLinePassword( + SelectTimeEvent event, Emitter emit) async { emit(ChangeTimeState()); final DateTime? picked = await showDatePicker( context: event.context, @@ -260,20 +284,27 @@ class SmartDoorBloc extends Bloc { ).millisecondsSinceEpoch ~/ 1000; // Divide by 1000 to remove milliseconds if (event.isEffective) { - if (expirationTimeTimeStamp != null && selectedTimestamp > expirationTimeTimeStamp!) { - CustomSnackBar.displaySnackBar('Effective Time cannot be later than Expiration Time.'); + if (expirationTimeTimeStamp != null && + selectedTimestamp > expirationTimeTimeStamp!) { + CustomSnackBar.displaySnackBar( + 'Effective Time cannot be later than Expiration Time.'); } else { - effectiveTime = - selectedDateTime.toString().split('.').first; // Remove seconds and milliseconds + effectiveTime = selectedDateTime + .toString() + .split('.') + .first; // Remove seconds and milliseconds effectiveTimeTimeStamp = selectedTimestamp; } } else { - if (effectiveTimeTimeStamp != null && selectedTimestamp < effectiveTimeTimeStamp!) { + if (effectiveTimeTimeStamp != null && + selectedTimestamp < effectiveTimeTimeStamp!) { CustomSnackBar.displaySnackBar( 'Expiration Time cannot be earlier than Effective Time.'); } else { - expirationTime = - selectedDateTime.toString().split('.').first; // Remove seconds and milliseconds + expirationTime = selectedDateTime + .toString() + .split('.') + .first; // Remove seconds and milliseconds expirationTimeTimeStamp = selectedTimestamp; } } @@ -329,20 +360,27 @@ class SmartDoorBloc extends Bloc { ).millisecondsSinceEpoch ~/ 1000; // Divide by 1000 to remove milliseconds if (event.isEffective) { - if (expirationTimeTimeStamp != null && selectedTimestamp > expirationTimeTimeStamp!) { - CustomSnackBar.displaySnackBar('Effective Time cannot be later than Expiration Time.'); + if (expirationTimeTimeStamp != null && + selectedTimestamp > expirationTimeTimeStamp!) { + CustomSnackBar.displaySnackBar( + 'Effective Time cannot be later than Expiration Time.'); } else { - effectiveTime = - selectedDateTime.toString().split('.').first; // Remove seconds and milliseconds + effectiveTime = selectedDateTime + .toString() + .split('.') + .first; // Remove seconds and milliseconds effectiveTimeTimeStamp = selectedTimestamp; } } else { - if (effectiveTimeTimeStamp != null && selectedTimestamp < effectiveTimeTimeStamp!) { + if (effectiveTimeTimeStamp != null && + selectedTimestamp < effectiveTimeTimeStamp!) { CustomSnackBar.displaySnackBar( 'Expiration Time cannot be earlier than Effective Time.'); } else { - expirationTime = - selectedDateTime.toString().split('.').first; // Remove seconds and milliseconds + expirationTime = selectedDateTime + .toString() + .split('.') + .first; // Remove seconds and milliseconds expirationTimeTimeStamp = selectedTimestamp; } } @@ -351,7 +389,8 @@ class SmartDoorBloc extends Bloc { } } - Future savePassword(SavePasswordEvent event, Emitter emit) async { + Future savePassword( + SavePasswordEvent event, Emitter emit) async { if (_validateInputs() || isSavingPassword) return; try { isSavingPassword = true; @@ -381,7 +420,8 @@ class SmartDoorBloc extends Bloc { } Future generateAndSavePasswordTimeLimited( - GenerateAndSavePasswordTimeLimitEvent event, Emitter emit) async { + GenerateAndSavePasswordTimeLimitEvent event, + Emitter emit) async { if (timeLimitValidate() || isSavingPassword) return; try { isSavingPassword = true; @@ -407,10 +447,12 @@ class SmartDoorBloc extends Bloc { } } - Future deletePassword(DeletePasswordEvent event, Emitter emit) async { + Future deletePassword( + DeletePasswordEvent event, Emitter emit) async { try { emit(LoadingInitialState()); - await DevicesAPI.deletePassword(deviceId: deviceId, passwordId: event.passwordId) + await DevicesAPI.deletePassword( + deviceId: deviceId, passwordId: event.passwordId) .then((value) async { add(InitialPasswordsPage()); }); @@ -445,7 +487,8 @@ class SmartDoorBloc extends Bloc { } if (repeat == true && (endTime == null || startTime == null)) { - CustomSnackBar.displaySnackBar('Start Time and End time and the days required '); + CustomSnackBar.displaySnackBar( + 'Start Time and End time and the days required '); return true; } return false; diff --git a/lib/features/devices/bloc/two_gang_bloc/two_gang_bloc.dart b/lib/features/devices/bloc/two_gang_bloc/two_gang_bloc.dart index 6b43274..92163ae 100644 --- a/lib/features/devices/bloc/two_gang_bloc/two_gang_bloc.dart +++ b/lib/features/devices/bloc/two_gang_bloc/two_gang_bloc.dart @@ -93,7 +93,7 @@ class TwoGangBloc extends Bloc { } deviceStatus = TwoGangModel.fromJson(statusModelList); emit(UpdateState(twoGangModel: deviceStatus)); - _listenToChanges(); + // _listenToChanges(); } catch (e) { emit(FailedState(error: e.toString())); return; diff --git a/lib/features/devices/bloc/two_touch_bloc/two_touch_bloc.dart b/lib/features/devices/bloc/two_touch_bloc/two_touch_bloc.dart index ff32edf..fedf978 100644 --- a/lib/features/devices/bloc/two_touch_bloc/two_touch_bloc.dart +++ b/lib/features/devices/bloc/two_touch_bloc/two_touch_bloc.dart @@ -99,7 +99,7 @@ class TwoTouchBloc extends Bloc { } deviceStatus = TwoTouchModel.fromJson(statusModelList); emit(UpdateState(twoTouchModel: deviceStatus)); - _listenToChanges(); + // _listenToChanges(); } catch (e) { emit(FailedState(error: e.toString())); return; diff --git a/lib/features/devices/bloc/wall_sensor_bloc/wall_sensor_bloc.dart b/lib/features/devices/bloc/wall_sensor_bloc/wall_sensor_bloc.dart index 7c01795..df3bdd2 100644 --- a/lib/features/devices/bloc/wall_sensor_bloc/wall_sensor_bloc.dart +++ b/lib/features/devices/bloc/wall_sensor_bloc/wall_sensor_bloc.dart @@ -20,7 +20,8 @@ class WallSensorBloc extends Bloc { on(_wallSensorUpdated); } - void _fetchCeilingSensorStatus(InitialEvent event, Emitter emit) async { + void _fetchCeilingSensorStatus( + InitialEvent event, Emitter emit) async { emit(LoadingInitialState()); try { var response = await DevicesAPI.getDeviceStatus(deviceId); @@ -30,7 +31,7 @@ class WallSensorBloc extends Bloc { } deviceStatus = WallSensorModel.fromJson(statusModelList); emit(UpdateState(wallSensorModel: deviceStatus)); - _listenToChanges(); + // _listenToChanges(); } catch (e) { emit(FailedState(error: e.toString())); return; @@ -39,15 +40,18 @@ class WallSensorBloc extends Bloc { _listenToChanges() { try { - DatabaseReference ref = FirebaseDatabase.instance.ref('device-status/$deviceId'); + DatabaseReference ref = + FirebaseDatabase.instance.ref('device-status/$deviceId'); Stream stream = ref.onValue; stream.listen((DatabaseEvent event) { - Map usersMap = event.snapshot.value as Map; + Map usersMap = + event.snapshot.value as Map; List statusList = []; usersMap['status'].forEach((element) { - statusList.add(StatusModel(code: element['code'], value: element['value'])); + statusList + .add(StatusModel(code: element['code'], value: element['value'])); }); deviceStatus = WallSensorModel.fromJson(statusList); @@ -56,15 +60,19 @@ class WallSensorBloc extends Bloc { } catch (_) {} } - _wallSensorUpdated(WallSensorUpdatedEvent event, Emitter emit) { + _wallSensorUpdated( + WallSensorUpdatedEvent event, Emitter emit) { emit(UpdateState(wallSensorModel: deviceStatus)); } - void _changeIndicator(ChangeIndicatorEvent event, Emitter emit) async { + void _changeIndicator( + ChangeIndicatorEvent event, Emitter emit) async { emit(LoadingNewSate(wallSensorModel: deviceStatus)); try { final response = await DevicesAPI.controlDevice( - DeviceControlModel(deviceId: deviceId, code: 'indicator', value: !event.value), deviceId); + DeviceControlModel( + deviceId: deviceId, code: 'indicator', value: !event.value), + deviceId); if (response['success'] ?? false) { deviceStatus.indicator = !event.value; @@ -73,11 +81,14 @@ class WallSensorBloc extends Bloc { emit(UpdateState(wallSensorModel: deviceStatus)); } - void _changeValue(ChangeValueEvent event, Emitter emit) async { + void _changeValue( + ChangeValueEvent event, Emitter emit) async { emit(LoadingNewSate(wallSensorModel: deviceStatus)); try { final response = await DevicesAPI.controlDevice( - DeviceControlModel(deviceId: deviceId, code: event.code, value: event.value), deviceId); + DeviceControlModel( + deviceId: deviceId, code: event.code, value: event.value), + deviceId); if (response['success'] ?? false) { if (event.code == 'far_detection') { diff --git a/lib/features/devices/bloc/water_leak_bloc/water_leak_bloc.dart b/lib/features/devices/bloc/water_leak_bloc/water_leak_bloc.dart index a380b9c..688afc4 100644 --- a/lib/features/devices/bloc/water_leak_bloc/water_leak_bloc.dart +++ b/lib/features/devices/bloc/water_leak_bloc/water_leak_bloc.dart @@ -1,12 +1,10 @@ import 'dart:async'; - import 'package:dio/dio.dart'; import 'package:firebase_database/firebase_database.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:syncrow_app/features/devices/bloc/water_leak_bloc/water_leak_event.dart'; import 'package:syncrow_app/features/devices/bloc/water_leak_bloc/water_leak_state.dart'; - import 'package:syncrow_app/features/devices/model/device_control_model.dart'; import 'package:syncrow_app/features/devices/model/device_report_model.dart'; import 'package:syncrow_app/features/devices/model/status_model.dart'; @@ -46,7 +44,7 @@ class WaterLeakBloc extends Bloc { emit(UpdateState(waterSensor: deviceStatus)); Future.delayed(const Duration(milliseconds: 500)); - _listenToChanges(); + // _listenToChanges(); } catch (e) { emit(WaterLeakFailedState(errorMessage: e.toString())); return; diff --git a/lib/services/api/api_links_endpoints.dart b/lib/services/api/api_links_endpoints.dart index d065b65..238bdf6 100644 --- a/lib/services/api/api_links_endpoints.dart +++ b/lib/services/api/api_links_endpoints.dart @@ -23,7 +23,7 @@ abstract class ApiEndpoints { static const String communityChild = '/community/child/{communityUuid}'; static const String communityUser = '/community/user/{userUuid}'; //PUT - static const String renameCommunity = '/community/rename/{communityUuid}'; + static const String renameCommunity = '/community/{communityUuid}'; ///Building Module //POST @@ -35,7 +35,7 @@ abstract class ApiEndpoints { static const String buildingParent = '/building/parent/{buildingUuid}'; static const String buildingUser = '/building/user/{userUuid}'; //PUT - static const String renameBuilding = '/building/rename/{buildingUuid}'; + static const String renameBuilding = '/building/{buildingUuid}'; ///Floor Module //POST @@ -47,7 +47,7 @@ abstract class ApiEndpoints { static const String floorParent = '/floor/parent/{floorUuid}'; static const String floorUser = '/floor/user/{userUuid}'; //PUT - static const String renameFloor = '/floor/rename/{floorUuid}'; + static const String renameFloor = '/floor/{floorUuid}'; ///Unit Module //POST @@ -62,7 +62,7 @@ abstract class ApiEndpoints { static const String verifyInvitationCode = '/unit/user/verify-code'; //PUT - static const String renameUnit = '/unit/rename/{unitUuid}'; + static const String renameUnit = '/unit/{unitUuid}'; ///Room Module //POST @@ -73,7 +73,7 @@ abstract class ApiEndpoints { static const String roomParent = '/room/parent/{roomUuid}'; static const String roomUser = '/room/user/{userUuid}'; //PUT - static const String renameRoom = '/room/rename/{roomUuid}'; + static const String renameRoom = '/room/{roomUuid}'; ///Group Module //POST @@ -81,7 +81,8 @@ abstract class ApiEndpoints { static const String controlGroup = '/group/control'; //GET static const String groupBySpace = '/group/{unitUuid}'; - static const String devicesByGroupName = '/group/{unitUuid}/devices/{groupName}'; + static const String devicesByGroupName = + '/group/{unitUuid}/devices/{groupName}'; static const String groupByUuid = '/group/{groupUuid}'; //DELETE @@ -93,7 +94,8 @@ abstract class ApiEndpoints { static const String addDeviceToRoom = '/device/room'; static const String addDeviceToGroup = '/device/group'; static const String controlDevice = '/device/{deviceUuid}/control'; - static const String firmwareDevice = '/device/{deviceUuid}/firmware/{firmwareVersion}'; + static const String firmwareDevice = + '/device/{deviceUuid}/firmware/{firmwareVersion}'; static const String getDevicesByUserId = '/device/user/{userId}'; static const String getDevicesByUnitId = '/device/unit/{unitUuid}'; static const String openDoorLock = '/door-lock/open/{doorLockUuid}'; @@ -103,7 +105,8 @@ abstract class ApiEndpoints { static const String deviceByUuid = '/device/{deviceUuid}'; static const String deviceFunctions = '/device/{deviceUuid}/functions'; static const String gatewayApi = '/device/gateway/{gatewayUuid}/devices'; - static const String deviceFunctionsStatus = '/device/{deviceUuid}/functions/status'; + static const String deviceFunctionsStatus = + '/device/{deviceUuid}/functions/status'; ///Device Permission Module //POST @@ -128,24 +131,29 @@ abstract class ApiEndpoints { static const String getUnitAutomation = '/automation/{unitUuid}'; - static const String getAutomationDetails = '/automation/details/{automationId}'; + static const String getAutomationDetails = + '/automation/details/{automationId}'; /// PUT static const String updateScene = '/scene/tap-to-run/{sceneId}'; static const String updateAutomation = '/automation/{automationId}'; - static const String updateAutomationStatus = '/automation/status/{automationId}'; + static const String updateAutomationStatus = + '/automation/status/{automationId}'; /// DELETE static const String deleteScene = '/scene/tap-to-run/{unitUuid}/{sceneId}'; - static const String deleteAutomation = '/automation/{unitUuid}/{automationId}'; + static const String deleteAutomation = + '/automation/{unitUuid}/{automationId}'; //////////////////////Door Lock ////////////////////// //online - static const String addTemporaryPassword = '/door-lock/temporary-password/online/{doorLockUuid}'; - static const String getTemporaryPassword = '/door-lock/temporary-password/online/{doorLockUuid}'; + static const String addTemporaryPassword = + '/door-lock/temporary-password/online/{doorLockUuid}'; + static const String getTemporaryPassword = + '/door-lock/temporary-password/online/{doorLockUuid}'; //one-time offline static const String addOneTimeTemporaryPassword = @@ -177,7 +185,8 @@ abstract class ApiEndpoints { '/door-lock/temporary-password/online/{doorLockUuid}/{passwordId}'; static const String saveSchedule = '/schedule/{deviceUuid}'; - static const String getSchedule = '/schedule/{deviceUuid}?category={category}'; + static const String getSchedule = + '/schedule/{deviceUuid}?category={category}'; static const String changeSchedule = '/schedule/enable/{deviceUuid}'; static const String deleteSchedule = '/schedule/{deviceUuid}/{scheduleId}'; static const String reportLogs =