setInitialRoutePath method

  1. @override
Future<void> setInitialRoutePath(
  1. UrlState configuration
)
override

Called by the Router at startup with the structure that the RouteInformationParser obtained from parsing the initial route.

This should configure the RouterDelegate so that when build is invoked, it will create a widget tree that matches the initial route.

By default, this method forwards the configuration to setNewRoutePath.

Consider using a SynchronousFuture if the result can be computed synchronously, so that the Router does not need to wait for the next microtask to schedule a build.

See also:

Implementation

@override
Future<void> setInitialRoutePath(UrlState configuration) async {
  // setInitialRoutePath is re-fired on enabling
  // select widget mode from flutter inspector,
  // this check is preventing it from rebuilding the app
  if (controller.hasEntries) {
    return SynchronousFuture(null);
  }
  final platformDeepLink = PlatformDeepLink._(configuration, true);
  if (deepLinkBuilder != null) {
    return _handleDeepLink(await deepLinkBuilder!(platformDeepLink));
  } else if (platformDeepLink.isValid) {
    return _handleDeepLink(platformDeepLink);
  } else {
    throw FlutterError("Can not resolve initial route");
  }
}