diff options
Diffstat (limited to 'lib/kuksa-server/vehicle-provider.dart')
-rw-r--r-- | lib/kuksa-server/vehicle-provider.dart | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/lib/kuksa-server/vehicle-provider.dart b/lib/kuksa-server/vehicle-provider.dart new file mode 100644 index 0000000..f070a53 --- /dev/null +++ b/lib/kuksa-server/vehicle-provider.dart @@ -0,0 +1,47 @@ +// SPDX-License-Identifier: Apache-2.0 + +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:flutter_hvac/kuksa-server/vehicle-class.dart'; + +final vehicleProvider = StateNotifierProvider<VehicleSignal, vehicle>( + (ref) => VehicleSignal(), +); + +class VehicleSignal extends StateNotifier<vehicle> { + static vehicle intial_value = vehicle( + isAcActive: false, + isAcDirectionDown: false, + isAcDirectionMiddle: false, + isAcDirectionUp: false, + isFrontDefrosterActive: false, + isRearDefrosterActive: false, + isRecirculationActive: false, + isAutoActive: false, + isFreshAirCirculateActive : false, + ); + VehicleSignal() : super(intial_value); + + void update({ + bool? isAcActive, + bool? isAcDirectionDown, + bool? isAcDirectionUp, + bool? isAcDirectionMiddle, + bool? isFrontDefrosterActive, + bool? isRearDefrosterActive, + bool? isRecirculationActive, + bool? isAutoActive, + bool? isFreshAirCirculateActive, + }) { + state = state.copywith( + isAcActive: isAcActive, + isAcDirectionDown: isAcDirectionDown, + isAcDirectionMiddle: isAcDirectionMiddle, + isAcDirectionUp: isAcDirectionUp, + isFrontDefrosterActive: isFrontDefrosterActive, + isRearDefrosterActive: isRearDefrosterActive, + isRecirculationActive: isRecirculationActive, + isAutoActive : isAutoActive, + isFreshAirCirculateActive : isFreshAirCirculateActive, + ); + } +} |