checkPermission static method
Implementation
static Future<bool> checkPermission(Permission permission,
String permissionIcon, String permissionContent) async {
var status = await permission.status;
debugPrint("checkPermission $permission status $status");
if (status == PermissionStatus.granted) {
debugPrint("permission granted opening");
return true;
} else if (status == PermissionStatus.denied ||
(Platform.isAndroid && await permission.shouldShowRequestRationale)) {
LogMessage.d('denied', 'permission');
var popupValue = await customPermissionDialog(
icon: permissionIcon,
content: permissionContent,
dialogStyle: AppStyleConfig.dialogStyle);
if (popupValue) {
var newp = await AppPermission.requestPermission(permission);
return newp.isGranted;
} else {
return false;
}
} else if (status == PermissionStatus.denied) {
LogMessage.d('denied', 'permission');
var popupValue = await customPermissionDialog(
icon: permissionIcon,
content: permissionContent,
dialogStyle: AppStyleConfig.dialogStyle);
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 {
var deniedPopupValue = await customPermissionDialog(
icon: permissionIcon,
content: getPermissionAlertMessage(
permission.toString().replaceAll("Permission.", "")),
dialogStyle: AppStyleConfig.dialogStyle);
if (deniedPopupValue) {
openAppSettings();
return false;
} else {
return false;
}
}
}