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) {
  super.didPop(route, previousRoute);

  // Notify listener of route change
  onRouteChanged?.call(previousRoute, route);

  // Only log if route logging is enabled AND log level permits
  if (ZenConfig.shouldLogRoutes) {
    final routeName = route.settings.name ?? 'unnamed';
    final previousRouteName = previousRoute?.settings.name ?? 'none';
    ZenLogger.logInfo('Route popped: $routeName (to: $previousRouteName)');
  }

  // Dispose controllers associated with the popped route
  _disposeControllersForRoute(route);
}