dispose method

  1. @override
void dispose()
override

Called when this state object is removed from the tree permanently.

Implementation

@override
void dispose() {
  for (final route in _history.reversed) {
    route._isCurrent = false;
    route.dispose();
  }
  _history.clear();

  final disposeError = NavigatorDisposedException();
  for (final completer in _completers) {
    if (!completer.isCompleted) {
      completer.completeError(disposeError);
    }
  }
  _completers.clear();
  FocusManager.instance.dispose();
  super.dispose();
}