createTicker method

  1. @override
Ticker createTicker(
  1. TickerCallback onTick
)
override

Creates a ticker with the given callback.

The kind of ticker provided depends on the kind of ticker provider.

Implementation

@override
Ticker createTicker(TickerCallback onTick) {
  assert(() {
    if (_ticker == null) return true;
    throw FlutterError.fromParts(<DiagnosticsNode>[
      ErrorSummary(
          '$runtimeType is a GetSingleTickerProviderStateMixin but multiple tickers were created.'),
      ErrorDescription(
          'A GetSingleTickerProviderStateMixin can only be used as a TickerProvider once.'),
      ErrorHint(
        'If a State is used for multiple AnimationController objects, or if it is passed to other '
        'objects and those objects might use it more than one time in total, then instead of '
        'mixing in a GetSingleTickerProviderStateMixin, use a regular GetTickerProviderStateMixin.',
      ),
    ]);
  }());
  _ticker =
      Ticker(onTick, debugLabel: kDebugMode ? 'created by $this' : null);
  // We assume that this is called from initState, build, or some sort of
  // event handler, and that thus TickerMode.of(context) would return true. We
  // can't actually check that here because if we're in initState then we're
  // not allowed to do inheritance checks yet.
  return _ticker!;
}