didPushRouteInformation method

Future<bool> didPushRouteInformation(
  1. RouteInformation routeInformation
)

Called when the host tells the application to push a new RouteInformation and a restoration state onto the router.

Observers are expected to return true if they were able to handle the notification. Observers are notified in registration order until one returns true.

This method exposes the pushRouteInformation notification from SystemChannels.navigation.

The default implementation is to call the didPushRoute directly with the string constructed from RouteInformation.uri's path and query parameters.

Implementation

// TODO(chunhtai): remove the default implementation once `didPushRoute` is
// removed.
Future<bool> didPushRouteInformation(RouteInformation routeInformation) {
  final Uri uri = routeInformation.uri;
  return didPushRoute(
    Uri.decodeComponent(
      Uri(
        path: uri.path.isEmpty ? '/' : uri.path,
        queryParameters: uri.queryParametersAll.isEmpty ? null : uri.queryParametersAll,
        fragment: uri.fragment.isEmpty ? null : uri.fragment,
      ).toString(),
    ),
  );
}