Skip to content

Instantly share code, notes, and snippets.

@Amir-P
Last active February 20, 2020 15:19
Show Gist options
  • Save Amir-P/73a9577e215c4added2cced4f5d36da2 to your computer and use it in GitHub Desktop.
Save Amir-P/73a9577e215c4added2cced4f5d36da2 to your computer and use it in GitHub Desktop.
import 'package:flutter/material.dart';
List<Route> routeStack = List();
class AppNavigatorObserver extends NavigatorObserver {
@override
void didPush(Route route, Route previousRoute) {
super.didPush(route, previousRoute);
routeStack.add(route);
}
@override
void didPop(Route route, Route previousRoute) {
super.didPop(route, previousRoute);
routeStack.remove(route);
}
@override
void didRemove(Route route, Route previousRoute) {
super.didRemove(route, previousRoute);
routeStack.remove(route);
}
@override
void didReplace({Route newRoute, Route oldRoute}) {
super.didReplace(newRoute: newRoute, oldRoute: oldRoute);
final index = routeStack.indexOf(oldRoute);
routeStack[index] = newRoute;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment