diff --git a/lib/providers/theme_provider.dart b/lib/providers/theme_provider.dart index c8cf228..840d4fa 100644 --- a/lib/providers/theme_provider.dart +++ b/lib/providers/theme_provider.dart @@ -44,15 +44,28 @@ class ThemeProvider extends StatefulWidget { State createState() => ThemeProviderState(); } -class ThemeProviderState extends State { +class ThemeProviderState extends State with WidgetsBindingObserver { UserPreferencesService get _prefs => context.read(); late final _themeTypeNotifier = ValueNotifier(_prefs.themeType); late final _dynamicColorNotifier = ValueNotifier(_prefs.dynamicColor); late final _primaryColorNotifier = ValueNotifier(_prefs.primaryColor); + @override + void initState() { + super.initState(); + WidgetsBinding.instance.addObserver(this); + } + + @override + void didChangePlatformBrightness() { + super.didChangePlatformBrightness(); + setState(() {}); + } + @override void dispose() { + WidgetsBinding.instance.removeObserver(this); _themeTypeNotifier.dispose(); _dynamicColorNotifier.dispose(); _primaryColorNotifier.dispose();