didStartUserGesture method
The navigator is being controlled by a user gesture.
For example, called when the user beings an iOS back gesture.
When the gesture finishes, call didStopUserGesture.
Implementation
void didStartUserGesture() {
  _userGesturesInProgress += 1;
  if (_userGesturesInProgress == 1) {
    final Route<dynamic> route = _history.last;
    final Route<dynamic> previousRoute = !route.willHandlePopInternally && _history.length > 1
        ? _history[_history.length - 2]
        : null;
    // Don't operate the _history list since the gesture may be cancelled.
    // In case of a back swipe, the gesture controller will call .pop() itself.
    for (NavigatorObserver observer in widget.observers)
      observer.didStartUserGesture(route, previousRoute);
  }
}