request static method

Future<bool> request(
  1. Permission permission
)

Implementation

static Future<bool> request(Permission permission) async {
  var currentStatus = false;

  if ((permission == Permission.photos || permission == Permission.storage) &&
      Platform.isAndroid) {
    currentStatus = (await Permission.mediaLibrary.status).isGranted;
  } else {
    currentStatus = (await permission.status).isGranted;
  }

  if (!currentStatus) {
    CkLogger.warning(
      'Sorry! Current Permission Status is $currentStatus, need to take permission',
      tag: 'Permission Handler',
    );

    final status = await permission.request();

    if (!status.isGranted) {
      CkLogger.warning(
        'Sorry! Permission No ${permission.value} is ${status.name}',
        tag: 'Permission Handler',
      );

      if (status.isPermanentlyDenied) {
        _dialog(permission);
      }

      return false;
    }
  }

  return true;
}