@@ -152,6 +152,21 @@ class _ZulipAppState extends State<ZulipApp> with WidgetsBindingObserver {
152
152
return super .didPushRouteInformation (routeInformation);
153
153
}
154
154
155
+ InitialRouteListFactory _handleGenerateInitialRoutes (BuildContext context) {
156
+ final globalStore = GlobalStoreWidget .of (context);
157
+
158
+ return (_) {
159
+ // TODO(#524) choose initial account as last one used
160
+ final initialAccountId = globalStore.accounts.firstOrNull? .id;
161
+ return [
162
+ if (initialAccountId == null )
163
+ MaterialWidgetRoute (page: const ChooseAccountPage ())
164
+ else
165
+ HomePage .buildRoute (accountId: initialAccountId),
166
+ ];
167
+ };
168
+ }
169
+
155
170
Future <void > _handleInitialRoute () async {
156
171
final initialRouteUrl = Uri .parse (WidgetsBinding .instance.platformDispatcher.defaultRouteName);
157
172
if (initialRouteUrl case Uri (scheme: 'zulip' , host: 'notification' )) {
@@ -177,7 +192,6 @@ class _ZulipAppState extends State<ZulipApp> with WidgetsBindingObserver {
177
192
final themeData = zulipThemeData (context);
178
193
return GlobalStoreWidget (
179
194
child: Builder (builder: (context) {
180
- final globalStore = GlobalStoreWidget .of (context);
181
195
return MaterialApp (
182
196
title: 'Zulip' ,
183
197
localizationsDelegates: ZulipLocalizations .localizationsDelegates,
@@ -204,16 +218,7 @@ class _ZulipAppState extends State<ZulipApp> with WidgetsBindingObserver {
204
218
// like [Navigator.push], never mere names as with [Navigator.pushNamed].
205
219
onGenerateRoute: (_) => null ,
206
220
207
- onGenerateInitialRoutes: (_) {
208
- // TODO(#524) choose initial account as last one used
209
- final initialAccountId = globalStore.accounts.firstOrNull? .id;
210
- return [
211
- if (initialAccountId == null )
212
- MaterialWidgetRoute (page: const ChooseAccountPage ())
213
- else
214
- HomePage .buildRoute (accountId: initialAccountId),
215
- ];
216
- });
221
+ onGenerateInitialRoutes: _handleGenerateInitialRoutes (context));
217
222
}));
218
223
}
219
224
}
0 commit comments