didPush method
The Navigator pushed route
.
The route immediately below that one, and thus the previously active
route, is previousRoute
.
Implementation
@override
void didPush(Route<dynamic> route, Route<dynamic>? previousRoute) {
// final name = route?.settings?.name;
if (route.settings is PathRouteSettings) {
final settings = route.settings as PathRouteSettings;
_log.info("#####################################");
if (settings.label != null) _log.info("Page: ${settings.label}");
if (settings.route != null) _log.info("Route: ${settings.route}");
final args = settings.routeParams?.toMap() ?? {};
if (settings.resolvedPath != null) _log.info("Path: ${settings.resolvedPath}");
if (args.isNotEmpty) _log.info("Args: ${args.keys.toList()}");
_log.info("#####################################");
analytics.logPageView(() => settings.label, route: settings.route, resolvedPath: settings.resolvedPath, params: {
for (final entry in args.entries) entry.key: analyticsValue(entry.value),
});
} else {
_log.warning("Wanted PathRouteSettings but found ${route.settings.runtimeType} for "
"${route.settings.name ?? 'unnamed'} route $route. Will not be logged");
}
}