@@ -85,6 +85,7 @@ class ZeroApp extends StatelessWidget {
85
85
this .scrollBehavior,
86
86
}) : routeInformationProvider = null ,
87
87
routeInformationParser = null ,
88
+ routerConfig = null ,
88
89
routerDelegate = null ,
89
90
backButtonDispatcher = null ,
90
91
super (key: key);
@@ -96,9 +97,10 @@ class ZeroApp extends StatelessWidget {
96
97
this .darkTheme,
97
98
this .themeMode = ThemeMode .system,
98
99
this .routeInformationProvider,
99
- required this .routeInformationParser,
100
- required this .routerDelegate,
101
- BackButtonDispatcher ? backButtonDispatcher,
100
+ this .routeInformationParser,
101
+ this .routerConfig,
102
+ this .routerDelegate,
103
+ this .backButtonDispatcher,
102
104
this .builder,
103
105
this .title = '' ,
104
106
this .onGenerateTitle,
@@ -121,12 +123,14 @@ class ZeroApp extends StatelessWidget {
121
123
this .restorationScopeId,
122
124
this .useInheritedMediaQuery = false ,
123
125
this .scrollBehavior,
124
- }) : assert (routeInformationParser != null && routerDelegate != null ,
125
- 'The routeInformationParser and routerDelegate cannot be null.' ),
126
- assert (supportedLocales.isNotEmpty),
126
+ }) : assert (routerDelegate != null || routerConfig != null ),
127
+ assert (title != null ),
128
+ assert (showPerformanceOverlay != null ),
129
+ assert (checkerboardRasterCacheImages != null ),
130
+ assert (checkerboardOffscreenLayers != null ),
131
+ assert (showSemanticsDebugger != null ),
132
+ assert (debugShowCheckedModeBanner != null ),
127
133
navigatorObservers = null ,
128
- backButtonDispatcher =
129
- backButtonDispatcher ?? RootBackButtonDispatcher (),
130
134
navigatorKey = null ,
131
135
onGenerateRoute = null ,
132
136
home = null ,
@@ -209,6 +213,9 @@ class ZeroApp extends StatelessWidget {
209
213
/// {@macro flutter.widgets.widgetsApp.navigatorObservers}
210
214
final List <NavigatorObserver >? navigatorObservers;
211
215
216
+ /// {@macro flutter.widgets.widgetsApp.routerConfig}
217
+ final RouterConfig <Object >? routerConfig;
218
+
212
219
/// {@macro flutter.widgets.widgetsApp.routeInformationProvider}
213
220
final RouteInformationProvider ? routeInformationProvider;
214
221
@@ -359,11 +366,12 @@ class ZeroApp extends StatelessWidget {
359
366
360
367
@override
361
368
Widget build (BuildContext context) {
362
- if (routerDelegate != null ) {
369
+ if (routerDelegate != null || routerConfig != null ) {
363
370
return MaterialApp .router (
364
371
routeInformationProvider: routeInformationProvider,
365
- routeInformationParser: routeInformationParser! ,
366
- routerDelegate: routerDelegate! ,
372
+ routeInformationParser: routeInformationParser,
373
+ routerConfig: routerConfig,
374
+ routerDelegate: routerDelegate,
367
375
backButtonDispatcher: backButtonDispatcher,
368
376
builder: _builder,
369
377
title: title,
0 commit comments