From 5587c6ae79b482fbff26442bb239d7d7eb55a337 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Tue, 23 Jan 2024 16:22:17 -0500 Subject: Improve background disabling Rework things to show the first frame of the background animation when the animation is disabled. A new 'plain-bg' option has been added to the configuration in case the previous behavior is still desired. Bug-AGL: SPEC-5054 Change-Id: I15dde41fe8472bea8ef9690ad188ee6d2ba5c3af Signed-off-by: Scott Murray --- lib/presentation/screens/home/home.dart | 37 ++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 12 deletions(-) (limited to 'lib/presentation/screens/home') diff --git a/lib/presentation/screens/home/home.dart b/lib/presentation/screens/home/home.dart index 8f0d125..0ee52ac 100644 --- a/lib/presentation/screens/home/home.dart +++ b/lib/presentation/screens/home/home.dart @@ -1,6 +1,25 @@ import 'package:flutter_ics_homescreen/export.dart'; // import 'package:media_kit_video/media_kit_video.dart'; +final bkgImageProvider = Provider((ref) { + return Container( + width: 1080, + height: 1920, + decoration: const BoxDecoration( + image: DecorationImage( + image: AssetImage("assets/BG_Sequence_00000.png"), + ), + )); +}); + +final bkgAnimationProvider = Provider((ref) { + return Lottie.asset( + 'animations/BG-dotwaveform.json', + fit: BoxFit.cover, + repeat: true, + ); +}); + class HomeScreen extends ConsumerStatefulWidget { const HomeScreen({ super.key, @@ -24,16 +43,12 @@ class HomeScreenState extends ConsumerState { } @override - Widget build( - BuildContext context, - ) { + Widget build(BuildContext context) { return Consumer(builder: (context, ref, child) { final appState = ref.watch(appProvider); final bool disableBkgAnimation = - ref.read(appConfigProvider).disableBkgAnimation; - if (disableBkgAnimation) { - print('Background animation: disabled'); - } + ref.watch(appConfigProvider).disableBkgAnimation; + final bool plainBackground = ref.watch(appConfigProvider).plainBackground; return Scaffold( key: homeScaffoldKey, extendBody: true, @@ -42,11 +57,9 @@ class HomeScreenState extends ConsumerState { body: Stack( children: [ if (!disableBkgAnimation) - Lottie.asset( - 'animations/BG-dotwaveform.json', - fit: BoxFit.cover, - repeat: true, - ), + ref.watch(bkgAnimationProvider) + else if (!plainBackground) + ref.watch(bkgImageProvider), FlowBuilder( state: appState, onGeneratePages: onGenerateAppViewPages, -- cgit 1.2.3-korg