didPop method Null safety

  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<RouteAware>? previousSubscribers = _listeners[previousRoute]?.toList();

    if (previousSubscribers != null) {
      for (final RouteAware routeAware in previousSubscribers) {
        routeAware.didPopNext();
      }
    }

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

    if (subscribers != null) {
      for (final RouteAware routeAware in subscribers) {
        routeAware.didPop();
      }
    }
  }
}