Skip to content

Commit c55f366

Browse files
authored
Merge pull request #181 from nigeltiany/feat/enable-routeconfig-option
enable routerConfig option on flutter ZeroApp.router constructor
2 parents 137a706 + cc189e9 commit c55f366

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

packages/mobile/lib/components/app.dart

+19-11
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ class ZeroApp extends StatelessWidget {
8585
this.scrollBehavior,
8686
}) : routeInformationProvider = null,
8787
routeInformationParser = null,
88+
routerConfig = null,
8889
routerDelegate = null,
8990
backButtonDispatcher = null,
9091
super(key: key);
@@ -96,9 +97,10 @@ class ZeroApp extends StatelessWidget {
9697
this.darkTheme,
9798
this.themeMode = ThemeMode.system,
9899
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,
102104
this.builder,
103105
this.title = '',
104106
this.onGenerateTitle,
@@ -121,12 +123,14 @@ class ZeroApp extends StatelessWidget {
121123
this.restorationScopeId,
122124
this.useInheritedMediaQuery = false,
123125
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),
127133
navigatorObservers = null,
128-
backButtonDispatcher =
129-
backButtonDispatcher ?? RootBackButtonDispatcher(),
130134
navigatorKey = null,
131135
onGenerateRoute = null,
132136
home = null,
@@ -209,6 +213,9 @@ class ZeroApp extends StatelessWidget {
209213
/// {@macro flutter.widgets.widgetsApp.navigatorObservers}
210214
final List<NavigatorObserver>? navigatorObservers;
211215

216+
/// {@macro flutter.widgets.widgetsApp.routerConfig}
217+
final RouterConfig<Object>? routerConfig;
218+
212219
/// {@macro flutter.widgets.widgetsApp.routeInformationProvider}
213220
final RouteInformationProvider? routeInformationProvider;
214221

@@ -359,11 +366,12 @@ class ZeroApp extends StatelessWidget {
359366

360367
@override
361368
Widget build(BuildContext context) {
362-
if (routerDelegate != null) {
369+
if (routerDelegate != null || routerConfig != null) {
363370
return MaterialApp.router(
364371
routeInformationProvider: routeInformationProvider,
365-
routeInformationParser: routeInformationParser!,
366-
routerDelegate: routerDelegate!,
372+
routeInformationParser: routeInformationParser,
373+
routerConfig: routerConfig,
374+
routerDelegate: routerDelegate,
367375
backButtonDispatcher: backButtonDispatcher,
368376
builder: _builder,
369377
title: title,

0 commit comments

Comments
 (0)