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.permanentlyDenied){
mirrorFlyLog('permanentlyDenied', 'permission');
var permissionAlertMessage = "";
var permissionName = "$permission";
permissionName = permissionName.replaceAll("Permission.", "");
switch (permissionName.toLowerCase()){
case "camera":
permissionAlertMessage = AppConstants.cameraPermissionDenied;
break;
case "microphone":
permissionAlertMessage = AppConstants.microPhonePermissionDenied;
break;
case "storage":
permissionAlertMessage = AppConstants.storagePermissionDenied;
break;
case "contacts":
permissionAlertMessage = AppConstants.contactPermissionDenied;
break;
case "location":
permissionAlertMessage = AppConstants.locationPermissionDenied;
break;
default:
permissionAlertMessage = "${info.appName} need the ${permissionName.toUpperCase()} Permission.${AppConstants.otherPermissionDenied} \"${permissionName.toUpperCase()}\"";
}
if(context.mounted) {
var deniedPopupValue = await customPermissionDialog(context : context, icon: permissionIcon, content: permissionAlertMessage, appName: info.appName);
if(deniedPopupValue){
openAppSettings();
return false;
}else{
return false;
}
}else {
return false;
}
/*var deniedPopupValue = await customPermissionDialog(context,icon: permissionIcon,
content: permissionAlertMessage,appName: info.appName);
if(deniedPopupValue){
openAppSettings();
return false;
}else{
return false;
}*/
}else{
// mirrorFlyLog('denied', 'permission');
if(context.mounted) {
var popupValue = await customPermissionDialog(context: context,icon: permissionIcon,
content: permissionContent,appName: info.appName);
if(popupValue){
return AppPermission.requestPermission(permission);
}else{
return false;
}
}else{
return false;
}
/*var popupValue = await customPermissionDialog(context,icon: permissionIcon,
content: permissionContent,appName: info.appName);
if(popupValue){
return AppPermission.requestPermission(permission);
}else{
return false;
}*/
}
}