requestMedia method

Future requestMedia(
  1. BuildContext context,
  2. PlatformPermisson source
)

Request media access for the specified permission type

Implementation

Future requestMedia(BuildContext context, PlatformPermisson source) async {
  // Check permission before proceeding
  PermissionStatus permissionStatus = await _checkAndRequestPermission(
    source,
  );

  // Handle granted permissions
  if (permissionStatus == PermissionStatus.granted) {
    return await PickerHandler().handleMediaSelection(source);
  }
  // If permission is permanently denied, show settings dialog
  else if (permissionStatus == PermissionStatus.permanentlyDenied) {
    _showOpenAppSettingsDialog(context, source);
  }
  // If denied, show basic permission alert
  else {
    _showPermissionDeniedDialog(context, source);
  }
  return null;
}