@@ -66,7 +66,6 @@ class FeedScreenViewModel extends BaseViewModel
6666 );
6767
6868 void init () {
69- _lastFeedLoadDateTimeProvider.getData ();
7069 _blogPostProvider //
7170 .getData () //
7271 .then ((posts) => _addPostsToList (offlinePosts, posts)) //
@@ -119,20 +118,31 @@ class FeedScreenViewModel extends BaseViewModel
119118 loadingMore = true ;
120119 _numberUnreadMessages = 0 ;
121120
122- await refreshFeatured ();
123-
124- final freshPosts = await tryLoginAndRetrieveData <List <BlogPost >>(
125- () => _regularBlogPostsService.getRegularBlogPosts (
126- postsPerPage: postsPerPage,
127- ),
128- () => null ,
121+ final [_, _, freshPosts as List <BlogPost >? ] = await Future .wait (
122+ [
123+ _lastFeedLoadDateTimeProvider.getData (),
124+ refreshFeatured (),
125+ tryLoginAndRetrieveData <List <BlogPost >>(
126+ () => _regularBlogPostsService.getRegularBlogPosts (
127+ postsPerPage: postsPerPage,
128+ ),
129+ () => null ,
130+ ),
131+ ],
129132 );
133+
130134 if (freshPosts == null ) {
131135 loadingMore = false ;
132136 failedToLoad = true ;
133137 return ;
134138 }
135- await _blogPostProvider.saveData (freshPosts);
139+
140+ await Future .wait ([
141+ _blogPostProvider.saveData (freshPosts),
142+ _lastFeedLoadDateTimeProvider
143+ .saveData (freshPosts.first.data.datePublish),
144+ ]);
145+
136146 offlinePosts.clear ();
137147 _totalPosts.clear ();
138148
@@ -141,8 +151,6 @@ class FeedScreenViewModel extends BaseViewModel
141151 offlinePosts.addAll (_totalPosts);
142152 loadingMore = false ;
143153 _currentPage = 1 ;
144- await _lastFeedLoadDateTimeProvider
145- .saveData (freshPosts.first.data.datePublish);
146154 });
147155
148156 Future <void > refreshFeatured () async => changeState (() async {
0 commit comments