reset ui only on demand

This commit is contained in:
Fabian Freund
2025-10-30 06:59:42 +01:00
parent f0ff1b48a2
commit 6fa8a56643
3 changed files with 31 additions and 22 deletions
-21
View File
@@ -23,7 +23,6 @@ import 'package:background_fetch/background_fetch.dart';
import 'package:dynamic_color/dynamic_color.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart'
show GeckoBrowserService, GeckoLoggingService, LogLevel;
import 'package:home_widget/home_widget.dart';
@@ -48,26 +47,6 @@ class _MainWidget extends HookConsumerWidget {
Widget build(BuildContext context, WidgetRef ref) {
final rootKey = ref.watch(appStateKeyProvider);
final pauseTime = useRef<DateTime?>(null);
useOnAppLifecycleStateChange((previous, current) {
switch (current) {
case AppLifecycleState.resumed:
if (pauseTime.value != null &&
DateTime.now().difference(pauseTime.value!) >
const Duration(minutes: 5)) {
//Rebuild widget tree after long time of inactivity
ref.read(appStateKeyProvider.notifier).reset();
logger.i('UI reset');
}
pauseTime.value = null;
case AppLifecycleState.detached:
case AppLifecycleState.inactive:
case AppLifecycleState.hidden:
case AppLifecycleState.paused:
pauseTime.value ??= DateTime.now();
}
});
final themeMode = ref.watch(
generalSettingsWithDefaultsProvider.select((value) => value.themeMode),
);