Assigned
Status Update
Comments
ji...@google.com <ji...@google.com> #2
Can you please add some information about what this bug is about. I'm going to close it otherwise as it is not actionable for us.
kl...@google.com <kl...@google.com> #3
Is there any update?
ji...@google.com <ji...@google.com>
ib...@google.com <ib...@google.com> #4
Duplicate of internal
Description
Version used: 1.3
Currently there is no way to copy all the Exif information between two image files. A typical use case would be for image editors, where instead of modifying the original photo, a copy of the image is made as the output result, which is a new bitmap encoded into a jpeg.
For such scenario it is needed to copy the original Exif information into the new created image file, and perform the pertinent Exif updates only in the attributes that must reflect a change.
The current solution is as next:
for (final ExifInterface.ExifTag[] tagList : ExifInterface.EXIF_TAGS) {
for (final ExifInterface.ExifTag entry : tagList) {
try {
final String value = sourceExif.getAttribute(
if (TextHelper.isEmpty(value) == false)
targetExif.setAttribute(
}
catch (Exception ex) {
// Log ....
}
}
}
This solution avoids having to create and maintain a gigantic copy-function with all the existing Exif tags.
Unfortunately, for this solution to work the ExifIntergace.ExifTag class and ExifInterface.EXIF_TAGS need to be public, which are currently not.
So, to go around this restriction and have access to them, the ExifIntergace source code has to be included directly as part of the project, instead of using it as an AndroidX library.
The request:
Please provide a way to copy all the ExifInformation tags, maybe something like:
targetExifInterface.copy(sourceExifInterface)
or alternatively please make public both, the ExifIntergace.ExifTag class and the ExifInterface.EXIF_TAGS
Thanks