show method

void show(
  1. String message, {
  2. ComToastConfig? config,
  3. bool skipDuplicateFilter = false,
})

Implementation

void show(
  String message, {
  ComToastConfig? config,
  bool skipDuplicateFilter = false,
}) {
  final finalConfig = _mergeConfigs(config);
  finalConfig.validate();

  if (message.trim().isEmpty && finalConfig.type != ComToastType.custom) {
    return;
  }
  if (finalConfig.type == ComToastType.custom &&
      finalConfig.builder == null) {
    return;
  }

  if (!skipDuplicateFilter) {
    final now = DateTime.now();
    if (_lastMessage == message &&
        _lastShowTime != null &&
        now.difference(_lastShowTime!).inMilliseconds <
            _duplicateFilterDuration) {
      return;
    }
    _lastMessage = message;
    _lastShowTime = now;
  }

  if (_isBannerConfig(finalConfig)) {
    _enqueueBanner(message, finalConfig, null);
    return;
  }

  if (_overlayManager.isToastShowing) {
    _dismissCurrentToastImmediately();
  }

  _showToast(message, finalConfig);
}