hint method

Future<void> hint({
  1. Duration? duration,
  2. Duration? total,
})

Implementation

Future<void> hint({final Duration? duration, final Duration? total}) async {
  assert(controller is AnimationController);
  if (controller is! AnimationController) return;

  if (controller!.isAnimating || controller!.value != 0) return;

  final Duration? durationTotal = total ?? controller!.duration;

  final Completer completer = Completer();

  final Duration? original = controller!.duration;
  controller!.duration = durationTotal;
  await controller!.forward();

  final Duration durationFlipBack = duration ?? const Duration(milliseconds: 150);

  Timer(durationFlipBack, () {
    controller!.reverse().whenComplete(completer.complete);
    controller!.duration = original;
  });

  await completer.future;
}