mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-09 22:57:21 +00:00
pushdoor lock animation
This commit is contained in:
@ -15,7 +15,7 @@ class DoorLockBloc extends Bloc<DoorLockEvent, DoorLockState> {
|
||||
|
||||
DoorLockBloc({required this.deviceId}) : super(DoorLockInitial()) {
|
||||
on<DoorLockFetchStatus>(_onFetchDeviceStatus);
|
||||
on<DoorLockControl>(_onDoorLockControl);
|
||||
//on<DoorLockControl>(_onDoorLockControl);
|
||||
on<UpdateLockEvent>(_updateLock);
|
||||
}
|
||||
|
||||
@ -33,25 +33,10 @@ class DoorLockBloc extends Bloc<DoorLockEvent, DoorLockState> {
|
||||
}
|
||||
}
|
||||
|
||||
FutureOr<void> _onDoorLockControl(
|
||||
DoorLockControl event, Emitter<DoorLockState> emit) async {
|
||||
final oldValue = _getValueByCode(event.code);
|
||||
_updateLocalValue(event.code, event.value);
|
||||
emit(DoorLockStatusLoaded(deviceStatus));
|
||||
|
||||
await _runDebounce(
|
||||
deviceId: event.deviceId,
|
||||
code: event.code,
|
||||
value: event.value,
|
||||
oldValue: oldValue,
|
||||
emit: emit,
|
||||
);
|
||||
}
|
||||
|
||||
FutureOr<void> _updateLock(
|
||||
UpdateLockEvent event, Emitter<DoorLockState> emit) async {
|
||||
final oldValue = deviceStatus.normalOpenSwitch;
|
||||
deviceStatus = deviceStatus.copyWith(normalOpenSwitch: event.value);
|
||||
deviceStatus = deviceStatus.copyWith(normalOpenSwitch: !oldValue);
|
||||
emit(DoorLockStatusLoaded(deviceStatus));
|
||||
|
||||
try {
|
||||
|
@ -44,7 +44,7 @@ class _DoorLockButtonState extends State<DoorLockButton>
|
||||
});
|
||||
|
||||
if (smartDoorModel.unlockRequest > 0) {
|
||||
_animationController.forward();
|
||||
_animationController.reverse(from: 1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -56,8 +56,11 @@ class _DoorLockButtonState extends State<DoorLockButton>
|
||||
setState(() {
|
||||
smartDoorModel = widget.smartDoorModel;
|
||||
});
|
||||
|
||||
if (smartDoorModel.unlockRequest > 0) {
|
||||
_animationController.forward(from: 0);
|
||||
} else {
|
||||
_animationController.reverse(from: 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user