diff --git a/packages/image_picker/image_picker_android/android/src/main/java/io/flutter/plugins/imagepicker/ExifDataCopier.java b/packages/image_picker/image_picker_android/android/src/main/java/io/flutter/plugins/imagepicker/ExifDataCopier.java index 72080a72cacf..e80e1602146e 100644 --- a/packages/image_picker/image_picker_android/android/src/main/java/io/flutter/plugins/imagepicker/ExifDataCopier.java +++ b/packages/image_picker/image_picker_android/android/src/main/java/io/flutter/plugins/imagepicker/ExifDataCopier.java @@ -10,6 +10,18 @@ import java.util.List; class ExifDataCopier { + /** + * Copies all exif data not related to image structure and orientation tag. Data not related to + * image structure consists of category II (Shooting condition related metadata) and category III + * (Metadata storing other information) tags. Category I tags are not copied because they may be + * invalidated as a result of resizing. The exception is the orientation tag which is known to not + * be invalidated and is crucial for proper display of the image. + * + *

The categories mentioned refer to standard "CIPA DC-008-Translation-2012 Exchangeable image + * file format for digital still cameras: Exif Version 2.3" + * https://www.cipa.jp/std/documents/e/DC-008-2012_E.pdf. Version 2.3 has been chosen because + * {@code ExifInterface} is based on it. + */ void copyExif(ExifInterface oldExif, ExifInterface newExif) throws IOException { @SuppressWarnings("deprecation") List attributes =