import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:flutter_application_1/app/app_session_view_model.dart'; class AppLifecycleHandler extends StatefulWidget { final Widget child; const AppLifecycleHandler({ super.key, required this.child, }); @override State createState() => _AppLifecycleHandlerState(); } class _AppLifecycleHandlerState extends State with WidgetsBindingObserver { @override void initState() { super.initState(); WidgetsBinding.instance.addObserver(this); } @override void dispose() { WidgetsBinding.instance.removeObserver(this); super.dispose(); } @override void didChangeAppLifecycleState(AppLifecycleState state) { if (!mounted) { return; } context.read().handleAppLifecycleStateChanged(state); } @override Widget build(BuildContext context) { return widget.child; } }