diff options
author | Lisandro Pérez Meyer <lpmeyer@ics.com> | 2023-12-14 13:24:42 -0300 |
---|---|---|
committer | Lisandro Pérez Meyer <lpmeyer@ics.com> | 2023-12-14 13:46:12 -0300 |
commit | dda6c8502a3fa1e50654c4cca934b4b846bbca98 (patch) | |
tree | fae219109b6fa5155ad8440354324d9522954498 /lib/presentation/screens/dashboard/widgets/hybrid_mode.dart | |
parent | 71d46d03850653c0229c678de197c6f94fceb477 (diff) |
Hybrid animation from env variable
This commit changes central hybrid animation on dashboard screen.
For now we can set from env randomHybridAnimation variable.
If true animation should be switching randomly. If false just
setting proper hybrid mode based on speed and RPM value.
Also increase childLocks touch target
Original from: Dominik Wawrzonek <dwawrzonek@ics.com>
Bug-AGL: SPEC-4971
Change-Id: I71f09c63bd1bfeda174f92feafc58019c23d07cb
Signed-off-by: Lisandro Pérez Meyer <lpmeyer@ics.com>
Diffstat (limited to 'lib/presentation/screens/dashboard/widgets/hybrid_mode.dart')
-rw-r--r-- | lib/presentation/screens/dashboard/widgets/hybrid_mode.dart | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/lib/presentation/screens/dashboard/widgets/hybrid_mode.dart b/lib/presentation/screens/dashboard/widgets/hybrid_mode.dart index 9a657b8..f5f1286 100644 --- a/lib/presentation/screens/dashboard/widgets/hybrid_mode.dart +++ b/lib/presentation/screens/dashboard/widgets/hybrid_mode.dart @@ -1,29 +1,36 @@ import 'package:flutter_ics_homescreen/export.dart'; -class HybridModel extends StatefulWidget { +class HybridModel extends ConsumerStatefulWidget { const HybridModel({super.key}); @override - State<HybridModel> createState() => _HybridModelState(); + HybridModelState createState() => HybridModelState(); } -class _HybridModelState extends State<HybridModel> { +class HybridModelState extends ConsumerState<HybridModel> { + @override Widget build(BuildContext context) { - - return GestureDetector( - child: const SizedBox( - width: 500, - height: 500, - child: Stack( - children: [ - HybridBackround(), - TopArrow(), - LeftArrow(), - RightArrow(), - BatteryHybrid(), - ], - ), + if (!randomHybridAnimation) { + ref.listen<Vehicle>(vehicleProvider, (Vehicle? previous, Vehicle next) { + ref.watch(hybridStateProvider.notifier).updateHybridState( + next.speed, + next.engineSpeed, + false); //TODO get brake value and improve state logic + }); + } + + return const SizedBox( + width: 500, + height: 500, + child: Stack( + children: [ + HybridBackround(), + TopArrow(), + LeftArrow(), + RightArrow(), + BatteryHybrid(), + ], ), ); } |