diff options
Diffstat (limited to 'lib/Buttons/ac_on_foot.dart')
-rw-r--r-- | lib/Buttons/ac_on_foot.dart | 61 |
1 files changed, 26 insertions, 35 deletions
diff --git a/lib/Buttons/ac_on_foot.dart b/lib/Buttons/ac_on_foot.dart index 41e2569..d1f2180 100644 --- a/lib/Buttons/ac_on_foot.dart +++ b/lib/Buttons/ac_on_foot.dart @@ -5,19 +5,18 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg_provider/flutter_svg_provider.dart'; -import 'package:flutter_hvac/kuksa-server/vehicle-provider.dart'; +import 'package:flutter_hvac/vehicle-signals/vehicle_ac_status_provider.dart'; +import 'package:flutter_hvac/vehicle-signals/vss_provider.dart'; +import 'package:flutter_hvac/vehicle-signals/vss_path.dart'; -import '../kuksa-server/vehicle-class.dart'; -import '../kuksa-server/vehicle_methods.dart'; import '../size.dart'; class AcOnFoot extends ConsumerStatefulWidget { final String img; - WebSocket socket; + AcOnFoot({ Key? key, required this.img, - required this.socket, }) : super(key: key); @override @@ -45,27 +44,20 @@ class _AcOnFootState extends ConsumerState<AcOnFoot> _controller.addListener(() {}); _controller.addStatusListener((status) { + String direction = ""; if (status == AnimationStatus.completed) { - VISS.set(widget.socket,ref, - "Vehicle.Cabin.HVAC.Station.Row1.Left.AirDistribution", 'down'); - VISS.set(widget.socket,ref, - "Vehicle.Cabin.HVAC.Station.Row1.Right.AirDistribution", 'down'); - VISS.set(widget.socket,ref, - "Vehicle.Cabin.HVAC.Station.Row2.Left.AirDistribution", 'down'); - VISS.set(widget.socket,ref, - "Vehicle.Cabin.HVAC.Station.Row2.Right.AirDistribution", 'down'); - + direction = "DOWN"; + } else if (status == AnimationStatus.dismissed) { + direction = "MIDDLE"; } - - if (status == AnimationStatus.dismissed) { - VISS.set(widget.socket,ref, - "Vehicle.Cabin.HVAC.Station.Row1.Left.AirDistribution", 'middle'); - VISS.set(widget.socket,ref, - "Vehicle.Cabin.HVAC.Station.Row1.Right.AirDistribution", 'middle'); - VISS.set(widget.socket,ref, - "Vehicle.Cabin.HVAC.Station.Row2.Left.AirDistribution", 'middle'); - VISS.set(widget.socket,ref, - "Vehicle.Cabin.HVAC.Station.Row2.Right.AirDistribution", 'middle'); + if (direction.isNotEmpty) { + var vss = ref.read(vssClientProvider); + if (vss != null) { + vss.setString(VSSPath.vehicleFrontLeftAirDistribution, direction, true); + vss.setString(VSSPath.vehicleFrontRightAirDistribution, direction, true); + vss.setString(VSSPath.vehicleRearLeftAirDistribution, direction, true); + vss.setString(VSSPath.vehicleRearRightAirDistribution, direction, true); + } } }); } @@ -79,8 +71,9 @@ class _AcOnFootState extends ConsumerState<AcOnFoot> @override Widget build(BuildContext context) { - vehicle vehicledata = ref.watch(vehicleProvider); - if (vehicledata.isAcDirectionDown == false) { + bool isAcDirectionUp = ref.watch(vehicleAcStatusProvider.select((p) => p.isAcDirectionUp)); + bool isAcDirectionDown = ref.watch(vehicleAcStatusProvider.select((p) => p.isAcDirectionDown)); + if (isAcDirectionDown == false) { _controller.reverse(); } @@ -96,7 +89,7 @@ class _AcOnFootState extends ConsumerState<AcOnFoot> decoration: BoxDecoration( - gradient: vehicledata.isAcDirectionDown + gradient: isAcDirectionDown ? RadialGradient( colors: [Colors.black, Colors.lightBlue], radius: 2, @@ -123,18 +116,16 @@ class _AcOnFootState extends ConsumerState<AcOnFoot> ), ), onTap: () { - if (vehicledata.isAcDirectionUp == true) { + if (isAcDirectionUp == true) { ref - .watch(vehicleProvider.notifier) - .update(isAcDirectionUp: !vehicledata.isAcDirectionUp); + .watch(vehicleAcStatusProvider.notifier) + .update(isAcDirectionUp: !isAcDirectionUp); } Future.delayed(Duration(milliseconds: 500),(){ - vehicledata.isAcDirectionDown - ? _controller.reverse() - : _controller.forward(); + isAcDirectionDown ? _controller.reverse() : _controller.forward(); - ref.watch(vehicleProvider.notifier).update( - isAcDirectionDown: !vehicledata.isAcDirectionDown, + ref.watch(vehicleAcStatusProvider.notifier).update( + isAcDirectionDown: !isAcDirectionDown, ); }); |