didPop method

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

The Navigator popped route.

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

Implementation

@override
void didPop(Route<dynamic> route, Route<dynamic>? previousRoute) {
  if (route is R && previousRoute is R) {
    final List<MyRouteAware>? previousSubscribers =
        _listeners[previousRoute]?.toList();

    if (previousSubscribers != null) {
      for (final MyRouteAware routeAware in previousSubscribers) {
        routeAware.didPopNext(route, previousRoute);
      }
    }

    final List<MyRouteAware>? subscribers = _listeners[route]?.toList();

    if (subscribers != null) {
      for (final MyRouteAware routeAware in subscribers) {
        routeAware.didPop(route, previousRoute);
      }
    }
  }
}