animateBack method Null safety

TickerFuture animateBack(
  1. double target,
  2. {Duration? duration,
  3. Curve curve = Curves.linear}
)

Drives the animation from its current value to target.

Returns a TickerFuture that completes when the animation is complete.

The most recently returned TickerFuture, if any, is marked as having been canceled, meaning the future never completes and its TickerFuture.orCancel derivative future completes with a TickerCanceled error.

During the animation, status is reported as AnimationStatus.reverse regardless of whether target < value or not. At the end of the animation, when target is reached, status is reported as AnimationStatus.dismissed.

Implementation

TickerFuture animateBack(double target, { Duration? duration, Curve curve = Curves.linear }) {
  assert(() {
    if (this.duration == null && reverseDuration == null && duration == null) {
      throw FlutterError(
        'AnimationController.animateBack() called with no explicit duration and no default duration or reverseDuration.\n'
        'Either the "duration" argument to the animateBack() method should be provided, or the '
        '"duration" or "reverseDuration" property should be set, either in the constructor or later, before '
        'calling the animateBack() function.',
      );
    }
    return true;
  }());
  assert(
    _ticker != null,
    'AnimationController.animateBack() called after AnimationController.dispose()\n'
    'AnimationController methods should not be used after calling dispose.',
  );
  _direction = _AnimationDirection.reverse;
  return _animateToInternal(target, duration: duration, curve: curve);
}