@@ -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 (String initialRoute) {
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,9 +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
- // TODO(#524) choose initial account as last one used
182
- final initialAccountId = globalStore.accounts.firstOrNull? .id;
183
195
return MaterialApp (
184
196
title: 'Zulip' ,
185
197
localizationsDelegates: ZulipLocalizations .localizationsDelegates,
@@ -206,14 +218,7 @@ class _ZulipAppState extends State<ZulipApp> with WidgetsBindingObserver {
206
218
// like [Navigator.push], never mere names as with [Navigator.pushNamed].
207
219
onGenerateRoute: (_) => null ,
208
220
209
- onGenerateInitialRoutes: (_) {
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