dismiss method
Dismisses the AwesomeMessage causing is to return a future containing result
.
When this future finishes, it is guaranteed that AwesomeMessage was dismissed.
Implementation
Future<T?> dismiss([T? result]) async {
// If route was never initialized, do nothing
if (_awesomeMessageRoute == null) {
return null;
}
if (_awesomeMessageRoute!.isCurrent) {
_awesomeMessageRoute?.navigator?.pop(result);
return _awesomeMessageRoute?.completed;
} else if (_awesomeMessageRoute!.isActive) {
// removeRoute is called every time you dismiss a AwesomeMessage that is not the top route.
// It will not animate back and listeners will not detect AwesomeMessageStatusStatus.IS_HIDING or AwesomeMessageStatusStatus.DISMISSED
// To avoid this, always make sure that AwesomeMessage is the top route when it is being dismissed
_awesomeMessageRoute?.navigator?.removeRoute(_awesomeMessageRoute!);
}
return null;
}