summaryrefslogtreecommitdiffstats
path: root/lib/Buttons/ac_on_foot.dart
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Buttons/ac_on_foot.dart')
-rw-r--r--lib/Buttons/ac_on_foot.dart61
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,
);
});