1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
// SPDX-License-Identifier: Apache-2.0
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_cluster_dashboard/vehicle_signal/vehicle_signal_model.dart';
final vehicleSignalProvider =
StateNotifierProvider<VehicleSignalNotifier, VehicleSignal>(
(ref) => VehicleSignalNotifier(),
);
class VehicleSignalNotifier extends StateNotifier<VehicleSignal> {
VehicleSignalNotifier() : super(_initialValue);
static final VehicleSignal _initialValue = VehicleSignal(
speed: 140,
rpm: 7000,
fuelLevel: 90,
coolantTemp: 90,
isLeftIndicator: false,
isRightIndicator: false,
selectedGear: "P",
performanceMode: "normal",
isHazardLightOn: false,
isHighBeam: true,
isLowBeam: false,
isParkingOn: true,
travelledDistance: 888,
ambientAirTemp: '25',
cruiseControlSpeed: 60,
isCruiseControlActive: false,
isCruiseControlError: false,
isMILon: false,
isTrunkLocked: true,
isTrunkOpen: false,
isBatteryCharging: true,
isSteeringCruiseEnable: false,
isSteeringCruiseSet: false,
isSteeringCruiseResume: false,
isSteeringCruiseCancel: false,
isSteeringInfo: false,
isSteeringLaneWarning: false,
vehicleDistanceUnit: 'km',
currLat: 31.71,
currLng: 76.95,
desLat: 31.71,
desLng: 76.95,
);
void update({
double? speed,
double? rpm,
double? fuelLevel,
double? coolantTemp,
bool? isLeftIndicator,
bool? isRightIndicator,
String? selectedGear,
String? performanceMode,
String? ambientAirTemp,
bool? isLowBeam,
bool? isHighBeam,
bool? isHazardLightOn,
bool? isMILon,
bool? isParkingOn,
bool? isTrunkOpen,
bool? isTrunkLocked,
bool? isCruiseControlActive,
bool? isCruiseControlError,
bool? isBatteryCharging,
double? travelledDistance,
double? cruiseControlSpeed,
//
String? vehicleDistanceUnit,
bool? isSteeringCruiseEnable,
bool? isSteeringCruiseSet,
bool? isSteeringCruiseResume,
bool? isSteeringCruiseCancel,
bool? isSteeringLaneWarning,
bool? isSteeringInfo,
//
double? currLat,
double? currLng,
double? desLat,
double? desLng,
}) {
state = state.copyWith(
speed: speed,
rpm: rpm,
fuelLevel: fuelLevel,
coolantTemp: coolantTemp,
isLeftIndicator: isLeftIndicator,
isRightIndicator: isRightIndicator,
selectedGear: selectedGear,
isLowBeam: isLowBeam,
isHighBeam: isHighBeam,
isHazardLightOn: isHazardLightOn,
travelledDistance: travelledDistance,
performanceMode: performanceMode,
isParkingOn: isParkingOn,
isTrunkOpen: isTrunkOpen,
isTrunkLocked: isTrunkLocked,
isMILon: isMILon,
ambientAirTemp: ambientAirTemp,
isCruiseControlActive: isCruiseControlActive,
isCruiseControlError: isCruiseControlError,
cruiseControlSpeed: cruiseControlSpeed,
isBatteryCharging: isBatteryCharging,
//
isSteeringCruiseEnable: isSteeringCruiseEnable,
isSteeringCruiseSet: isSteeringCruiseSet,
isSteeringCruiseResume: isSteeringCruiseResume,
isSteeringCruiseCancel: isSteeringCruiseCancel,
isSteeringInfo: isSteeringInfo,
isSteeringLaneWarning: isSteeringLaneWarning,
vehicleDistanceUnit: vehicleDistanceUnit,
//
currLat: currLat,
currLng: currLng,
desLat: desLat,
desLng: desLng,
);
}
}
|