promptPermissionSetting static method

Future<bool> promptPermissionSetting({
  1. required GalleryMediaType mediaType,
})

Implementation

static Future<bool> promptPermissionSetting({
  required GalleryMediaType mediaType,
}) async {
  if (Platform.isAndroid) {
    final DeviceInfoPlugin deviceInfoPlugin = DeviceInfoPlugin();
    final AndroidDeviceInfo info = await deviceInfoPlugin.androidInfo;
    if (info.version.sdkInt >= 33) {
      if (mediaType == GalleryMediaType.image) {
        return await PhoneGalleryController.requestPermission(
          Permission.photos,
        );
      }
      if (mediaType == GalleryMediaType.video) {
        return await PhoneGalleryController.requestPermission(
          Permission.videos,
        );
      }

      final photosGranted = await PhoneGalleryController.requestPermission(
        Permission.photos,
      );
      if (!photosGranted) {
        return false;
      }
      return await PhoneGalleryController.requestPermission(
        Permission.videos,
      );
    } else {
      return await PhoneGalleryController.requestPermission(
        Permission.storage,
      );
    }
  }

  if (Platform.isIOS) {
    return await PhoneGalleryController.requestPermission(Permission.photos);
  }

  return await PhoneGalleryController.requestPermission(Permission.storage);
}