start method

void start([
  1. TickerProvider? provider,
  2. bool allowRest = false
])

Implementation

void start([TickerProvider? provider, bool allowRest = false]) {
  if (provider == null && _animator == null) {
    debugPrint("TickerProvider Is Null Not Allow Run");
    value = end;
    return;
  }

  if (provider == null) {
    _animator!.forward();
    return;
  }

  if (_animator == null) {
    _animator = ChartAnimator(
      provider,
      duration: duration,
      reverseDuration: reverseDuration,
      behavior: behavior,
      curve: curve,
      lowerBound: lowerBound,
      upperBound: upperBound,
    );
    _animator!.addListener(() {
      value = _getValue(_animator?.value ?? 0);
    });
  } else {
    if (allowRest) {
      _animator!.reVsync(provider);
    }
  }
  if (_statusListener != null) {
    _animator!.addStatusListener(_statusListener!);
  }
  _animator!.forward();
}