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 route, Route? previousRoute) {
  _updateRouteVars(route, previousRoute);

  if (_previousRoute != null && !_activeScreens.containsKey(_previousRoute)) {
    final tracker = ScreenTimeTracker(
      screenName: _previousScreenName ?? 'Unknown',
      startTime: DateTime.now(),
      deviceInfo: _deviceInfo,
      sessionId: sessionId,
    );
    _activeScreens[_previousRoute!] = tracker;
    _setRenderTimeLater(tracker);
  }

  if (_previousTracker != null && _currentScreenName != null) {
    _previousTracker?.setNextScreenName(_currentScreenName!);
  }

  _endTracking(route);
}