didPush method

  1. @override
void didPush(
  1. Route route,
  2. Route? previousRoute
)
override

The Navigator pushed route.

The route immediately below that one, and thus the previously active route, is previousRoute.

Implementation

@override
void didPush(Route<dynamic> route, Route<dynamic>? previousRoute) {
  RouteInfo? routeName = _findRouteByName(routeName: route.settings.name ?? '');
  RouteInfo? previousRouteInfo = _findRouteByName(routeName: previousRoute?.settings.name ?? '');
  NavigationInterface navigation = GetIt.instance<NavigationInterface>();
  if (routeName != null) {
    navigation.previousRoute = previousRouteInfo;
    WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
      navigation.initializeRoute(
        routeName,
        addToStack: !routeName.isShellRoute,
      );
    });
    log('Pushing to ${routeName.name} from ${previousRoute?.settings.name}');
  }
}