File tree Expand file tree Collapse file tree 2 files changed +31
-1
lines changed Expand file tree Collapse file tree 2 files changed +31
-1
lines changed Original file line number Diff line number Diff line change @@ -4,10 +4,13 @@ import 'package:flutter/material.dart';
4
4
import 'package:tabnews/src/constants.dart' ;
5
5
import 'package:tabnews/src/models/user.dart' ;
6
6
import 'package:tabnews/src/preferences.dart' ;
7
+ import 'package:tabnews/src/services/auth.dart' ;
7
8
8
9
class AppController {
9
10
static final AppController _singleton = AppController ._internal ();
10
11
12
+ static final AuthService _authService = AuthService ();
13
+
11
14
factory AppController () {
12
15
return _singleton;
13
16
}
@@ -39,4 +42,11 @@ class AppController {
39
42
40
43
return User .fromJson ({});
41
44
}
45
+
46
+ static void updateUser () async {
47
+ var userRefresh = await _authService.fetchUser (auth.value);
48
+
49
+ Preferences .setString (_userKey, jsonEncode (userRefresh.data));
50
+ user.value = _getLoggedUser ();
51
+ }
42
52
}
Original file line number Diff line number Diff line change @@ -16,7 +16,7 @@ class TabLayout extends StatefulWidget {
16
16
State <TabLayout > createState () => _TabLayoutState ();
17
17
}
18
18
19
- class _TabLayoutState extends State <TabLayout > {
19
+ class _TabLayoutState extends State <TabLayout > with WidgetsBindingObserver {
20
20
List <ScrollController > pagesScrollController = [
21
21
ScrollController (),
22
22
ScrollController (),
@@ -51,6 +51,26 @@ class _TabLayoutState extends State<TabLayout> {
51
51
});
52
52
}
53
53
54
+ @override
55
+ void initState () {
56
+ WidgetsBinding .instance.addObserver (this );
57
+ super .initState ();
58
+ }
59
+
60
+ @override
61
+ void dispose () {
62
+ WidgetsBinding .instance.removeObserver (this );
63
+
64
+ super .dispose ();
65
+ }
66
+
67
+ @override
68
+ void didChangeAppLifecycleState (AppLifecycleState state) {
69
+ if (AppController .isLoggedIn.value && state == AppLifecycleState .resumed) {
70
+ AppController .updateUser ();
71
+ }
72
+ }
73
+
54
74
@override
55
75
Widget build (BuildContext context) {
56
76
return Scaffold (
You can’t perform that action at this time.
0 commit comments