install method
override
Called when the route is inserted into the navigator.
Uses this to populate overlayEntries. There must be at least one entry in this list after install has been invoked. The Navigator will be in charge to add them to the Overlay or remove them from it by calling OverlayEntry.remove.
Implementation
@override
void install() {
assert(!_transitionCompleter.isCompleted, 'Cannot install a $runtimeType after disposing it.');
_controller = createAnimationController();
assert(_controller != null, '$runtimeType.createAnimationController() returned null.');
_animation = createAnimation()
..addStatusListener(_handleStatusChanged);
assert(_animation != null, '$runtimeType.createAnimation() returned null.');
super.install();
if (_animation!.isCompleted && overlayEntries.isNotEmpty) {
overlayEntries.first.opaque = opaque;
}
}