didPop method
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) {
super.didPop(route, previousRoute);
// is a framework route?
if (route.settings.arguments is PageConfiguration) {
// get pushed & popped route listeners
var popped = listenersOf(route);
var pushed = listenersOf(previousRoute);
// notify popped route(s)
Map<String?, String>? parameters;
for (var listener in popped) {
var result = listener.onNavigatorPop();
parameters ??= result;
}
// notify pushed route(s)
for (var listener in pushed) {
listener.onNavigatorPush(parameters: parameters);
}
// signal change
for (INavigatorObserver listener in _listeners) {
listener.onNavigatorChange();
}
}
}