showMediaPicker function

Future<List<XFile>> showMediaPicker({
  1. required BuildContext context,
  2. MediaSourceType sourceType = MediaSourceType.camera,
  3. MediaType mediaType = MediaType.image,
  4. bool multiSelection = false,
  5. int? imageQuality,
  6. int? limit,
  7. double? maxWidth,
  8. double? maxHeight,
  9. CameraDevice preferredCamera = CameraDevice.rear,
  10. Duration? maxDuration,
  11. Future<XFile> openFakeCamera()?,
})

Implementation

Future<List<XFile>> showMediaPicker({
  required BuildContext context,
  MediaSourceType sourceType = MediaSourceType.camera,
  MediaType mediaType = MediaType.image,
  bool multiSelection = false,
  int? imageQuality,
  int? limit,
  double? maxWidth,
  double? maxHeight,
  CameraDevice preferredCamera = CameraDevice.rear,
  Duration? maxDuration,

  // Used to open fake camera in nowa editor
  Future<XFile> Function()? openFakeCamera,
}) async {
  if (multiSelection) {
    return await _pickMultipleMedia(mediaType, imageQuality, maxWidth, maxHeight, limit) ?? [];
  }

  final XFile? singleFile = await _pickSingleMedia(
    sourceType,
    mediaType,
    imageQuality,
    maxWidth,
    maxHeight,
    preferredCamera,
    maxDuration,
    context,
    openFakeCamera,
  );

  return [
    if (singleFile != null) singleFile,
  ];
}