dismissBanner method

Future<void> dismissBanner()

Implementation

Future<void> dismissBanner() async {
  if (_activeBannerId == null || _isDismissingBanner) return;

  _isDismissingBanner = true;
  _bannerTimer?.cancel();
  _bannerTimer = null;
  final dismissingBannerId = _activeBannerId;
  final dismissingKey = _currentBannerKey;

  try {
    await dismissingKey?.currentState?.dismissWithAnimation();
  } catch (_) {
    // Ignore animation failures.
  } finally {
    if (_activeBannerId == dismissingBannerId) {
      _hideCurrentBannerEntry();
    }
    _lastBannerTransitionAt = DateTime.now();
    _isDismissingBanner = false;
    _scheduleNextBanner();
  }
}