fix: Make transactions atomic / AutoLogout

This commit is contained in:
2026-08-03 02:22:26 +02:00
parent 6060ca2713
commit 0997d110d4
14 changed files with 604 additions and 285 deletions
+15
View File
@@ -2,7 +2,9 @@ import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:provider/provider.dart';
import 'app_lifecycle_lock.dart';
import '../models/settings.dart';
import '../viewmodels/pin_lock_view_model.dart';
import '../viewmodels/settings_view_model.dart';
import '../theme.dart';
import '../l10n/app_localizations.dart';
@@ -17,15 +19,28 @@ class KoolTabApp extends StatefulWidget {
}
class _KoolTabAppState extends State<KoolTabApp> {
late final AppLifecycleLockObserver _lifecycleLockObserver;
@override
void initState() {
super.initState();
_lifecycleLockObserver = AppLifecycleLockObserver(
onLock: () => context.read<PinLockViewModel>().lock(),
);
WidgetsBinding.instance.addObserver(_lifecycleLockObserver);
WidgetsBinding.instance.addPostFrameCallback((_) {
context.read<SettingsViewModel>().ensureLoaded();
});
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(_lifecycleLockObserver);
super.dispose();
}
@override
Widget build(BuildContext context) {
final settings = context.watch<SettingsViewModel>().settings;