requestPermission method

Future<bool> requestPermission(
  1. Permission permission,
  2. String permissionName
)

Implementation

Future<bool> requestPermission(
    Permission permission, String permissionName) async {
  var status = await permission.status;
  if (!status.isGranted) {
    PermissionStatus result = await permission.request();
    if (result.isDenied) {
      Get.showSnackbar(
        GetSnackBar(
          title: "Permission Denied",
          message: "$permissionName permission is required",
          duration: const Duration(seconds: 2),
        ),
      );
      errorText = "$permissionName permission is denied";
      return false;
    }

    if (result.isPermanentlyDenied) {
      Get.showSnackbar(
        GetSnackBar(
          title: "Permission Denied",
          message: "Please enable $permissionName permission from settings",
          duration: const Duration(seconds: 2),
          mainButton: TextButton(
            onPressed: () {
              openAppSettings();
            },
            child: const Text(
              "Open Settings",
              style: TextStyle(
                fontFamily: "OpenSans",
              ),
            ),
          ),
        ),
      );
      errorText = "$permissionName permission is permanently denied";
      return false;
    }
  }
  return true;
}