TKK_E32221292/Aplikasi Android/lib/app/app_lifecycle_handler.dart

46 lines
992 B
Dart

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<AppLifecycleHandler> createState() => _AppLifecycleHandlerState();
}
class _AppLifecycleHandlerState extends State<AppLifecycleHandler>
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<AppSessionViewModel>().handleAppLifecycleStateChanged(state);
}
@override
Widget build(BuildContext context) {
return widget.child;
}
}