From 694f2a9faed0ca549a40e11abf20242121b773e6 Mon Sep 17 00:00:00 2001 From: Snehith <112557710+snehithssv@users.noreply.github.com> Date: Sat, 29 Jun 2024 18:09:00 +0530 Subject: [PATCH] fix: Follow system theme immediately (#1942) Co-authored-by: surya-technovert --- lib/ui/theme/dynamic_theme_builder.dart | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/ui/theme/dynamic_theme_builder.dart b/lib/ui/theme/dynamic_theme_builder.dart index 5ee0a222..c7047617 100644 --- a/lib/ui/theme/dynamic_theme_builder.dart +++ b/lib/ui/theme/dynamic_theme_builder.dart @@ -2,6 +2,7 @@ import 'dart:ui'; import 'package:dynamic_color/dynamic_color.dart'; import 'package:dynamic_themes/dynamic_themes.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:revanced_manager/app/app.router.dart'; @@ -24,14 +25,26 @@ class DynamicThemeBuilder extends StatefulWidget { class _DynamicThemeBuilderState extends State with WidgetsBindingObserver { - Brightness brightness = PlatformDispatcher.instance.platformBrightness; + late Brightness brightness; @override void initState() { super.initState(); + brightness = PlatformDispatcher.instance.platformBrightness; WidgetsBinding.instance.addObserver(this); } + @override + void didChangeAppLifecycleState(AppLifecycleState state) { + if (state == AppLifecycleState.resumed) { + final systemBrightness = PlatformDispatcher.instance.platformBrightness; + if (brightness != systemBrightness) { + brightness = systemBrightness; + setState(() {}); + } + } + } + @override Widget build(BuildContext context) { return DynamicColorBuilder(