close method
Attempts to close the modal.
Returns a future that completes with true
if it succeeds.
Implementation
@override
Future<bool> close() {
if (_pendingClose == null) {
final controller = AsyncActionController<dynamic>();
controller.execute(_hideModalOverlay);
_pendingClose = controller.action!.onDone.then((completed) {
_pendingClose = null;
if (completed == null) {
return false;
}
if (completed is bool) {
return completed;
}
return false;
});
_onClose.add(controller.action);
}
return _pendingClose ?? Future.value(false);
}