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 route, Route? previousRoute) {
super.didPush(route, previousRoute);
final newRoute = _RouteData.ofRoute(route);
if (newRoute.isBottomSheet || newRoute.isDialog) {
Get.log("OPEN ${newRoute.name}");
} else if (newRoute.isGetPageRoute) {
Get.log("GOING TO ROUTE ${newRoute.name}");
}
_routeSend?.update((value) {
// Only page routes are allowed to change current/previous values.
// Overlay pushes (dialogs/bottom sheets) leave them untouched so that
// synthetic overlay names never leak into the routing history.
if (route is PageRoute) {
final previousRouteName = previousRoute is PageRoute
? _extractRouteName(previousRoute)
: previousRoute != null && value.current.isNotEmpty
? value.current
: null;
if (previousRouteName != null) {
value.previous = previousRouteName;
}
value.current = newRoute.name ?? '';
}
value.args = route.settings.arguments;
value.route = route;
value.isBack = false;
value.removed = '';
value.isBottomSheet = newRoute.isBottomSheet
? true
: value.isBottomSheet ?? false;
value.isDialog = newRoute.isDialog ? true : value.isDialog ?? false;
});
if (routing != null) {
routing!(_routeSend);
}
}