onAccept method

  1. @override
Future<InspectionImage> onAccept(
  1. CameraInternalMedia media
)
override

Implementation

@override
Future<InspectionImage> onAccept(CameraInternalMedia media) async {
  XFile? editedImageFile;
  if (embedImageMetadata) {
    final editedImageBytes =
        await (media as CameraInternalImage).getEditedImage();
    if (shouldCompress) {
      final mb = editedImageBytes.length / (1024 * 1024);
      int qualityFactor;
      if (mb >= 0 && mb <= 1) {
        qualityFactor = 80;
      } else if (mb >= 1.01 && mb <= 2) {
        qualityFactor = 60;
      } else if (mb >= 2.01 && mb <= 3) {
        qualityFactor = 50;
      } else {
        qualityFactor = 35;
      }
      final compressedBytes =
          await editedImageBytes.compressed(quality: qualityFactor);
      editedImageFile = XFile.fromData(compressedBytes);
    } else {
      editedImageFile = XFile.fromData(editedImageBytes);
    }
  }
  return InspectionImage(
    data: editedImageFile ?? media.imageFile,
    locationData: media.locationData,
    timestamp: media.dateTime,
    // editedData: editedImageFile,
    captureConfig: this,
  );
}