show method

void show({
  1. required String message,
  2. String? actionText,
  3. VoidCallback? actionCallback,
})

Implementation

void show({
  required String message,
  String? actionText,
  VoidCallback? actionCallback,
}) {
  if (!mounted) return;

  final now = DateTime.now();
  if (_lastMessage == message &&
      _lastShownAt != null &&
      now.difference(_lastShownAt!) < _dedupeWindow) {
    return;
  }
  _lastMessage = message;
  _lastShownAt = now;

  _dismissTimer?.cancel();
  setState(() {
    _message = message;
    _actionText = actionText;
    _actionCallback = actionCallback;
  });
  _animController.forward(from: 0);
  _dismissTimer = Timer(_displayDuration, _dismiss);
}