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

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

  final tracker = ScreenTimeTracker(
    screenName: _currentScreenName ?? 'Unknown',
    startTime: DateTime.now(),
    deviceInfo: _deviceInfo,
    sessionId: sessionId,
  );

  _activeScreens[route] = tracker;
  _setRenderTimeLater(tracker);

  if (_previousRoute != null) {
    _endTracking(_previousRoute);
  }
}