didReplace method
The Navigator replaced oldRoute with newRoute.
Implementation
@override
void didReplace({Route? newRoute, Route? oldRoute}) {
super.didReplace(newRoute: newRoute, oldRoute: oldRoute);
// is a framework route?
if (newRoute?.settings.arguments is PageConfiguration) {
// get pushed & popped route listeners
var popped = listenersOf(oldRoute);
var pushed = listenersOf(newRoute);
// 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();
}
}
}