checkPermission static method
Future<bool>
checkPermission(
- BuildContext context,
- Permission permission,
- String permissionIcon,
- String permissionContent,
Implementation
static Future<bool> checkPermission(
BuildContext context,
Permission permission,
String permissionIcon,
String permissionContent) async {
// var info = await PackageInfo.fromPlatform();
var status = await permission.status;
if (status == PermissionStatus.granted) {
debugPrint("permission granted opening");
return true;
} else if (status == PermissionStatus.denied ||
(Platform.isAndroid && await permission.shouldShowRequestRationale)) {
mirrorFlyLog('denied', 'permission');
if (!context.mounted) return false;
var popupValue = await customPermissionDialog(
icon: permissionIcon,
content: permissionContent,
context: context,
appName: AppConstants.appName);
if (popupValue) {
var newp = await AppPermission.requestPermission(permission);
return newp.isGranted;
} else {
return false;
}
} else if (status == PermissionStatus.denied) {
mirrorFlyLog('denied', 'permission');
if (!context.mounted) return false;
var popupValue = await customPermissionDialog(
icon: permissionIcon,
content: permissionContent,
context: context,
appName: AppConstants.appName);
if (popupValue) {
// return AppPermission.requestPermission(permission);/*.then((value) {
var newp = await AppPermission.requestPermission(permission);
/*if(newp.isPermanentlyDenied) {
// savePermissionAsked(permission);
var deniedPopupValue = await customPermissionDialog(
icon: permissionIcon,
content: getPermissionAlertMessage(
permission.toString().replaceAll("Permission.", "")));
if (deniedPopupValue) {
openAppSettings();
return false;
} else {
return false;
}
}else{
return newp.isGranted;
}*/
return newp.isGranted;
} else {
return false;
}
} else {
if (!context.mounted) return false;
var deniedPopupValue = await customPermissionDialog(
icon: permissionIcon,
content: getPermissionAlertMessage(
permission.toString().replaceAll("Permission.", "")),
context: context,
appName: AppConstants.appName);
if (deniedPopupValue) {
openAppSettings();
return false;
} else {
return false;
}
}
}