showPermissionDialog static method
Show a dialog informing the user that permission is needed, with options to cancel or go to app settings.
The dialog content varies based on permissionType to show
a specific message for each permission (camera, microphone, etc.).
Returns true if the user chooses to open settings, false otherwise.
Implementation
static Future<bool> showPermissionDialog(BuildContext context, PermissionType permissionType) {
final completer = Completer<bool>();
final atomicLocal = AtomicLocalizations.of(context);
AtomicAlertDialog.show(
context,
title: atomicLocal.permissionNeeded,
content: _getPermissionDeniedText(atomicLocal, permissionType),
cancelText: atomicLocal.cancel,
confirmText: atomicLocal.confirm,
barrierDismissible: false,
onConfirm: () {
if (!completer.isCompleted) {
completer.complete(true);
}
},
onCancel: () {
if (!completer.isCompleted) {
completer.complete(false);
}
},
);
return completer.future;
}