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/dashboard_content.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/dashboard_content.dart')
-rw-r--r-- | lib/presentation/screens/dashboard/widgets/dashboard_content.dart | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/lib/presentation/screens/dashboard/widgets/dashboard_content.dart b/lib/presentation/screens/dashboard/widgets/dashboard_content.dart index 74f0d2a..28cf944 100644 --- a/lib/presentation/screens/dashboard/widgets/dashboard_content.dart +++ b/lib/presentation/screens/dashboard/widgets/dashboard_content.dart @@ -1,3 +1,4 @@ +import 'dart:async'; import 'dart:math'; import 'package:flutter_ics_homescreen/export.dart'; @@ -14,6 +15,7 @@ class DashBoardState extends ConsumerState<DashBoard> late AnimationController _animationController; late Animation<double> _animation; static bool _isAnimationPlayed = false; + late Timer timer; @override void initState() { @@ -36,11 +38,21 @@ class DashBoardState extends ConsumerState<DashBoard> _isAnimationPlayed = true; }); } + + if (randomHybridAnimation) { + timer = Timer.periodic(const Duration(seconds: 5), (timer) { + Random random = Random(); + int randomState = random.nextInt(4); + var hybridState = HybridState.values[randomState]; + ref.read(hybridStateProvider.notifier).setHybridState(hybridState); + }); + } } @override void dispose() { _animationController.dispose(); + timer.cancel(); super.dispose(); } @@ -58,11 +70,11 @@ class DashBoardState extends ConsumerState<DashBoard> Widget fadeContent = FadeTransition( opacity: _animation, - child: Column( + child: const Column( mainAxisAlignment: MainAxisAlignment.spaceAround, crossAxisAlignment: CrossAxisAlignment.center, children: <Widget>[ - const Row( + Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, //mainAxisSize: MainAxisSize.max, children: [ @@ -71,24 +83,15 @@ class DashBoardState extends ConsumerState<DashBoard> FuelProgressIndicator(), ], ), - GestureDetector( - onTap: () { - Random random = Random(); - int randomState = random.nextInt(4); - var hybridState = HybridState.values[randomState]; - ref - .read(hybridtateProvider.notifier) - .setHybridState(hybridState); - }, - child: const HybridModel()), - const Row( + HybridModel(), + Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ TemperatureWidget(), RangeWidget(), ], ), - const CarStatus(), + CarStatus(), ], )); |