curtain changes

This commit is contained in:
mohammad
2024-09-01 10:21:04 +03:00
parent eb5aa56536
commit bf944a6121
@@ -1,9 +1,7 @@
import 'package:dio/dio.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:syncrow_app/features/devices/bloc/curtain_bloc/curtain_event.dart';
import 'package:syncrow_app/features/devices/bloc/curtain_bloc/curtain_state.dart';
import 'package:syncrow_app/features/devices/model/device_control_model.dart';
import 'package:syncrow_app/features/devices/model/function_model.dart';
import 'package:syncrow_app/features/devices/model/status_model.dart';
import 'package:syncrow_app/services/api/devices_api.dart';
import 'package:syncrow_app/utils/resource_manager/constants.dart';
@@ -29,7 +27,7 @@ class CurtainBloc extends Bloc<CurtainEvent, CurtainState> {
Future<void> _onOpenCurtain(
OpenCurtain event,
Emitter<CurtainState> emit) async {
if (state is CurtainsOpening) return;
// if (state is CurtainsOpening) return;
isMoving = true;
while (openPercentage < 100.0) {
if (state is CurtainsClosing) {
@@ -51,7 +49,7 @@ class CurtainBloc extends Bloc<CurtainEvent, CurtainState> {
_pauseCurtain(emit);
}
});
if (openPercentage == 100.0) {
if (openPercentage >=100.0) {
await DevicesAPI.controlDevice(
DeviceControlModel(
deviceId: curtainId,
@@ -78,7 +76,6 @@ class CurtainBloc extends Bloc<CurtainEvent, CurtainState> {
Future<void> _onCloseCurtain(
CloseCurtain event, Emitter<CurtainState> emit) async {
if (state is CurtainsClosing) return;
isMoving = true;
while (openPercentage > 0.0) {
if (state is CurtainsOpening) {
@@ -100,7 +97,6 @@ class CurtainBloc extends Bloc<CurtainEvent, CurtainState> {
_pauseCurtain(emit);
}
});
if (openPercentage == 0.0) {
await DevicesAPI.controlDevice(
DeviceControlModel(
@@ -157,25 +153,8 @@ class CurtainBloc extends Bloc<CurtainEvent, CurtainState> {
}
// void _fetchStatus(InitCurtain event, Emitter<CurtainState> emit) async {
// try {
// var response = await DevicesAPI.getDeviceStatus(curtainId);
// List<StatusModel> statusModelList = [];
// for (var status in response['status']) {
// print(status);
// statusModelList.add(StatusModel.fromJson(status));
// }
// openPercentage = double.tryParse(statusModelList[1].value.toString())!;
// emit(CurtainsOpening(
// curtainWidth: curtainWidth ,
// blindHeight: blindHeight,
// openPercentage: openPercentage,
// ));
// } catch (e) {
// emit(FailedState());
// return;
// }
// }
void _fetchStatus(InitCurtain event, Emitter<CurtainState> emit) async {
try {
emit(CurtainLoadingState());
@@ -193,10 +172,6 @@ class CurtainBloc extends Bloc<CurtainEvent, CurtainState> {
curtainWidth = 270 - (openPercentage / 100) * curtainOpeningSpace;
blindHeight = 310 - (openPercentage / 100) * blindOpeningSpace;
}
print('openPercentage fetched: $openPercentage');
print('Calculated curtainWidth: $curtainWidth');
print('Calculated blindHeight: $blindHeight');
// Emit the updated state with calculated values
emit(CurtainsOpening(
curtainWidth: curtainWidth,
blindHeight: blindHeight,