getStatus method

Future<bool> getStatus()

Implementation

Future<bool> getStatus() 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();
      }

      return false;
    }
  }

  return true;
}