Added refetch query on app lifecycle state change
This commit is contained in:
parent
538ebd27bf
commit
7dee9f4f8a
16
lib/app.dart
16
lib/app.dart
@ -1,8 +1,10 @@
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:developer';
|
||||
|
||||
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:marianum_mobile/notification/notificationTasks.dart';
|
||||
import 'package:persistent_bottom_nav_bar/persistent_tab_view.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:badges/badges.dart' as badges;
|
||||
@ -29,12 +31,23 @@ class App extends StatefulWidget {
|
||||
State<App> createState() => _AppState();
|
||||
}
|
||||
|
||||
class _AppState extends State<App> {
|
||||
class _AppState extends State<App> with WidgetsBindingObserver {
|
||||
late Timer refetchChats;
|
||||
late Timer updateTimings;
|
||||
|
||||
@override
|
||||
void didChangeAppLifecycleState(AppLifecycleState state) {
|
||||
log("AppLifecycle: ${state.toString()}");
|
||||
|
||||
if(state == AppLifecycleState.resumed) {
|
||||
NotificationTasks.updateProviders(context);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
WidgetsBinding.instance.addObserver(this);
|
||||
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
|
||||
Provider.of<BreakerProps>(context, listen: false).run();
|
||||
Provider.of<ChatListProps>(context, listen: false).run();
|
||||
@ -137,6 +150,7 @@ class _AppState extends State<App> {
|
||||
void dispose() {
|
||||
refetchChats.cancel();
|
||||
updateTimings.cancel();
|
||||
WidgetsBinding.instance.removeObserver(this);
|
||||
super.dispose();
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user