History log of /frameworks/base/media/java/android/media/ExifInterface.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0e7d22535d4b3d3b9e6f520c5837b2d52629529c 06-Apr-2016 Jaesung Chung <jaesung@google.com> ExifInterface: keep the original metadata data instead of strings

This CL makes ExifInterface store the tag values as the original forms
and the format validiation is added that compares the given value and
the data format specificed in EXIF specification in order to keep the
valid tag values only.

Bug: 27583378, Bug: 27614052, Bug: 28075709
Change-Id: If60bbddefe74c4b87b4ce64b5fc79e467e36a5b9
/frameworks/base/media/java/android/media/ExifInterface.java
c048c5f74a07ddf341533610436c7f1d30dd7714 07-Apr-2016 Jaesung Chung <jaesung@google.com> ExifInterface: inform the developers to close their FD/streams

After use of constructors for FD/Streams, developers should close their
FD/streams.

Bug: 27948392
Change-Id: I6c26213d6804791e6d72d5830566f63e5ed57284
/frameworks/base/media/java/android/media/ExifInterface.java
8884af3ee9738a8642f4a5e0f6af3fc3352bcbf4 01-Apr-2016 Insun Kang <insun@google.com> ExifInterface: Code clean up

Replaces deprecated constants with newly added constants in the actual
implementation.

Bug: 27932489
Change-Id: Id54236a05127cd7ce3bf0668c002635fb86489a9
/frameworks/base/media/java/android/media/ExifInterface.java
d37577d1094de1a93c61502df5738b56433b3e70 01-Apr-2016 Jaesung Chung <jaesung@google.com> Merge "ExifInterface: deprecate duplicated tags" into nyc-dev
e1d0cabb5f4ccc43d7fa1d84a02a87a8683f8537 31-Mar-2016 Tomasz Mikolajewski <mtomasz@google.com> Merge "Unhide ExifThumbnail.getThumbnailRange() and make it match the comment." into nyc-dev
0ae6bdfe37e8a41cfdc74f3b5f9add2ed40394a0 31-Mar-2016 Jaesung Chung <jaesung@google.com> ExifInterface: deprecate duplicated tags

Bug: 27932489
Change-Id: I423a4eab875aec80cf0a2e4c2911e8b5c88fd0d7
/frameworks/base/media/java/android/media/ExifInterface.java
2b57efb262fe9ce2c54583f94c18b23fc17b2002 10-Mar-2016 Tomasz Mikolajewski <mtomasz@google.com> Unhide ExifThumbnail.getThumbnailRange() and make it match the comment.

Bug: 27579803
Change-Id: If9fe16976cfbc0760a6afb3043d35e0ee387945c
/frameworks/base/media/java/android/media/ExifInterface.java
4118ca86275b7bba6f8722bd3f03e66696b09f78 29-Mar-2016 Jaesung Chung <jaesung@google.com> ExifInterface: keep tags in the original tag groups

Previously ExifInterface saved its tags in the all possible IFD tags via
setAttribute() method even it already knew the right IFD group for those
tags. In this CL, it introduces updateAttribute() and removeAttribute()
methods in order to maintain the internal IFD tags and its values
according to its original EXIF saving states in the given JPEG file.

Bug: 27583378
Change-Id: Ie49163c8c9bdd38b575ccd76938879ccddcd547b
/frameworks/base/media/java/android/media/ExifInterface.java
e468a67d591225da928a49b783e01622cb2390c7 24-Mar-2016 Jaesung Chung <jaesung@google.com> Merge "ExifInterface: fix creating pointer tags which indicate 0 offset" into nyc-dev
616a42f982fee9ab22adc11a0863728172254890 23-Mar-2016 Jaesung Chung <jaesung@google.com> ExifInterface: fix creating pointer tags which indicate 0 offset

When saving attributes(that it writes JPEG again.), now ExifInterface
generates some uncessary pointer tags which refer to an empty EXIF IFD
group, that makes a warning message by ExifInterface when reading again,
which warns that the value of the pointer tag pointing to is invalid.

Bug: 27583378
Change-Id: Id0170c5644541565c98fe4978284098e6664c395
/frameworks/base/media/java/android/media/ExifInterface.java
976bbaccc47daa700a9ac2fa4fe9b0b759cf343a 23-Mar-2016 Jaesung Chung <jaesung@google.com> Merge "ExifInterface: close the resource after reading EXIF data explicitly" into nyc-dev
c247791db29ec4492772a3ae33fed5915e7a0170 15-Mar-2016 Jaesung Chung <jaesung@google.com> ExifInterface: close the resource after reading EXIF data explicitly

- In case of giving an argument of the image file name or descriptor,
we created a InputStream at the inside of ExifInterface, close them
properly.
- Developers should take care of closing input streams when they use
input streams since they made those input streams.

Bug: 27636804
Change-Id: I9a3a75b1b55dcb2718a60e14814a04cad939d22c
/frameworks/base/media/java/android/media/ExifInterface.java
42ac0d00153cf8cd4c89cb9397c937be4e8f36e3 22-Mar-2016 Jaesung Chung <jaesung@google.com> ExifInterface: fix regression of re-writing JPEG

Bug: 27583378
Change-Id: I052dfedbb1393705eba378de5eaf3636ed0e65ea
/frameworks/base/media/java/android/media/ExifInterface.java
285bbbbda45f51f53d18144b7e65edb88c888f1c 22-Mar-2016 Jaesung Chung <jaesung@google.com> Merge "ExifInterface: fix logs" into nyc-dev
f2a1076cd3d8fa1e5e6b9ced4380860e720675f7 22-Mar-2016 Jaesung Chung <jaesung@google.com> Merge "ExifInterface: fix writing STRING and SRATIONAL formats" into nyc-dev
c2916968aa8e470b3d62e36e752e1567e69972f3 20-Mar-2016 Jaesung Chung <jaesung@google.com> ExifInterface: fix logs

- Give more explanations on dealing with files failed to process.
- Log and return immediately when handling lost JPEG files.
- Minor fixes in logging.

Bug: 27583378, Bug: 27587980
Change-Id: Id9a3d137e5f173fa0e6313402e5dc482a5efd57c
/frameworks/base/media/java/android/media/ExifInterface.java
f9e0f20b28f3cd05d391ff8d49d27782e0f71b41 18-Mar-2016 Jaesung Chung <jaesung@google.com> Merge "ExifInterface: do not throw an Exception when XMP" into nyc-dev
d1e20d2c7a25335bf48a125a08fde820714326d4 14-Mar-2016 Jaesung Chung <jaesung@google.com> ExifInterface: fix writing STRING and SRATIONAL formats

This CL makes ExifInterface determine the data format of rational
numbers and the values which include several components for exif entry
correctly.

Bug: 27614052
Change-Id: Ic3ea64889fad06ef5f636e4635ab7803a9c9ae29
/frameworks/base/media/java/android/media/ExifInterface.java
36a20cdde3176f24279e2382f878cecdbecafa9d 16-Mar-2016 Jaesung Chung <jaesung@google.com> Merge "ExifInterface: ignore exceptions when getting wrong images" into nyc-dev
5fa031182bf30e2893f00f7f61338b5610bbebe7 10-Mar-2016 Jaesung Chung <jaesung@google.com> ExifInterface: do not throw an Exception when XMP

In JPEG, an APP1 section can contain EXIF or XMP. The old code throws an
Exception when XMP APP1 segment is showns.

Bug: 27580432
Change-Id: If42197ea0c33ec4446302c969b42afd3d4b4e3c3
/frameworks/base/media/java/android/media/ExifInterface.java
49371caff0294b474d97ba11fb9c2bb166052d66 14-Mar-2016 Jaesung Chung <jaesung@google.com> ExifInterface: handle the invalid offsets and count numbers

Some JPEG images generated by various camera vendors have wrong offsets
and invalid numbers for indicating the size of components. Instead of
throwing exceptions, this CL makes Exifinterface ignore these cases to
read the information without losing contents already parsed.

Bug: 27583378
Change-Id: Ie8ee0bf49283ef519f4f31c5b8ba78ce3f82fe92
/frameworks/base/media/java/android/media/ExifInterface.java
1043f56185ee4abb0246ebe44eea7e391802d4fa 14-Mar-2016 Jaesung Chung <jaesung@google.com> ExifInterface: ignore exceptions when getting wrong images

In order to maintain compatibility with the old versions of
ExifInterface, non-JPEG image files, for instance, PNG, GIF and so on,
need to be handled by generating an empty result rather than throwing
an exception in the constructor. And corrupted JPG files also should be
handled in the same way.

Bug: 27587980
Change-Id: If33b63c683bfb672999d1abd370a8edf29932ac1
/frameworks/base/media/java/android/media/ExifInterface.java
89cb1945424f1d4c7278d24cd09f0a8d09093883 10-Mar-2016 Jaesung Chung <jaesung@google.com> Merge "ExifInterface: implement the serialzation for Exif IFD structures" into nyc-dev
86e552b9fa39f61ea6da15d78da928c937bb875f 04-Mar-2016 Jaesung Chung <jaesung@google.com> ExifInterface: implement the serialzation for Exif IFD structures

One image can have multiple image file directories, which stores the
attributes of the image, in Exif specification to save metadata.
In the old version, the all attributes from several image file
directories were combined in a one hash map eventually and were served
without distinction of the original IFD group.

In order to keep the original data as much as possible, it loads/saves
the attributes based on the original IFD group internally.

Bug: 26044456, Bug: 11224701
Change-Id: I416e4e79fd47461c9aa83ce13591ed1a5d42f26e
/frameworks/base/media/java/android/media/ExifInterface.java
ad76dc2e6286ffdfa5eca6bfac67e574cbecd04e 08-Mar-2016 Jaesung Chung <jaesung@google.com> ExifInterface: fix a bug in readExifEntryValue

The readExifEntry method has raised an unnessary EOFException on reading
an non-ASCII byte array.

Bug: 27484747
Change-Id: I19371e0eed25770929f50b3ca25f249c50113925
/frameworks/base/media/java/android/media/ExifInterface.java
6e08d2b082acfc773907733f2ddab4e9b60616e1 25-Feb-2016 Jaesung Chung <jaesung@google.com> ExifInterface: add RAW input stream support

And also the following things are included:

- Remove mInputStream.
- Update javadoc accordingly.

Bug: 11224701
Change-Id: I30b4c29ac800ae396fca8f6b2c2c0f68028a44b3
/frameworks/base/media/java/android/media/ExifInterface.java
15ef59e081846b43660635391d536361c3253a22 25-Feb-2016 Jaesung Chung <jaesung@google.com> Revert "Revert "ExifInterface: switch from using jhead to java implementation""

This reverts commit 3c233ee291cfe1b765184920b6b7a69cb1bb82d9.

Bug: 27349581
Change-Id: Ib9f687e79ec36692fa7505ba3852099eb3e44573
/frameworks/base/media/java/android/media/ExifInterface.java
3c233ee291cfe1b765184920b6b7a69cb1bb82d9 25-Feb-2016 Sungsoo Lim <sungsoo@google.com> Revert "ExifInterface: switch from using jhead to java implementation"

This reverts commit bf24c9fcb3e66b25c90c0cd51f8bf4f401f6c3d6.

Change-Id: Id278e831a9c03f615208fd6eab51c65f7bb019eb
/frameworks/base/media/java/android/media/ExifInterface.java
bf24c9fcb3e66b25c90c0cd51f8bf4f401f6c3d6 17-Feb-2016 Jaesung Chung <jaesung@google.com> ExifInterface: switch from using jhead to java implementation

Bug: 26044456, Bug: 11224701
Change-Id: I881ef0ead24bcec76c0fa5a7dd0b74cc71c77285
/frameworks/base/media/java/android/media/ExifInterface.java
fe968dfc12fd4e0ef633ca88dfc403678bf4d16a 15-Jan-2016 Jaesung Chung <jaesung@google.com> ExifInterface: add support for reading metadata from RAW images

This CL depends on piex (github.com/google/piex),
which is owned by Google Photos's RAW team.

piex is capable of reading EXIF data that contains
metadata, and finding the positions in an image of
thumbnail and preview images from RAW images.

piex supports DNG, CR2, NEF, NRW, ARW, RW2, ORF
and RAF image file formats.

ExifInterface gets thumbnail and metadata information
from the above RAW image formats via piex.

Bug: 26177215
Change-Id: I529f8032bcb2a9d3d9e857ff1365a26a4f040066
/frameworks/base/media/java/android/media/ExifInterface.java
43b0a458ab1136e9f13eb8f5fd967523082a5bda 15-Apr-2015 Michal Piechowski <michal.piechowski@sonymobile.com> Don't use timestamps with all zero

Although all zero (0000:00:00) is valid time, in most cases it means
that value is not present. According to http://www.exiv2.org/Exif2-2.PDF
in such case those values should be omitted, however
some cameras set them to 0 anyway. With this commit such timestamps
will be treated as they were empty.

Change-Id: I9c762b1fa04ea6bf9c0fba9e2459a20430c71c90
/frameworks/base/media/java/android/media/ExifInterface.java
ab60e7e6e0eae5e9ee4181b173bcd4807b6bd2f3 09-Jun-2015 Eino-Ville Talvala <etalvala@google.com> ExifInterface: Add a few tag fields.

Since these are being CTS tested, they should be public.

Bug: 21568414
Change-Id: I3f9f6e5da240b2ac0b2b88b5d25ec3c8c4704b8d
/frameworks/base/media/java/android/media/ExifInterface.java
b2c890044ed975ab091db0443665ecce293515d4 29-May-2015 Marco Nelissen <marcone@google.com> Update ExifInterface.getDateTime to support subseconds

Also document that it returns local time.

Bug: 20638367
Change-Id: I6a1c35925e0555bcdcb079be0ca5b19a279a05a6
/frameworks/base/media/java/android/media/ExifInterface.java
934349e8ad37c1ad251d6992e0751635f9ab3f28 20-Dec-2013 Zhijun He <zhijunhe@google.com> ExifInterface: fix class load failure

libexif_jni was renamed as libjhead_jni

Change-Id: I0ceff1ad288c7ce2255826d5d5ba9ca1f121a556
/frameworks/base/media/java/android/media/ExifInterface.java
6398343e83b3fd11dd6536cf6f390a52c1e19d2e 21-Aug-2013 Jeff Sharkey <jsharkey@android.com> Return EXIF thumbnails when available.

Adds new ExifInterface method to extract the thumbnail range from
a larger image file, and use that to return an AssetFileDescriptor.

When decoding an AssetFileDescriptor thumbnail with offsets, read out
the raw data entirely, since Skia uses lseek() aggressively.

Bug: 10412208
Change-Id: I7906cdf82c0c3794cec7043c801a86f66efeb143
/frameworks/base/media/java/android/media/ExifInterface.java
c9b6be7c402bd349f8d9322730256f593053dc52 05-Mar-2013 Dave Burke <daveburke@google.com> Add nullness check.

Bug: 8313121
Change-Id: Id2221e1c77eaf749ab4c4f6ec4cfa6684927c751
/frameworks/base/media/java/android/media/ExifInterface.java
bb52c49c9aab2357100b18e72395c1dc3539dfa7 07-Jun-2012 Keun young Park <keunyoung@google.com> rename exif to exif_jni due to refactoring in external/jhead

- also pull libexif_jni from media_jni

Bug: 6623618
Change-Id: I4f06a4614c5fddcf98d95caff16a2c40f345dade
/frameworks/base/media/java/android/media/ExifInterface.java
30c918ce7fbe171944b28fc91b3f22b3d631872d 11-Nov-2011 Glenn Kasten <gkasten@google.com> Use final on new member variables

Use final for member fields initialized to a new and that are never modified.

Change-Id: I042352c7bc21879613e7a50b1205b6923f8083cf
/frameworks/base/media/java/android/media/ExifInterface.java
a113a075ca9afa14361806ea592c8f078b1636c5 14-Jan-2011 Oscar Rydhe <oscar.rydhe@sonyericsson.com> Improved conversion accuracy of exif geotag data

Changed degrees and minutes of geotag data into double to avoid
data loss during cast.

Also improved error handling if geotag data can't be parsed.

bug:3381761
Change-Id: I864843c7fc699fe81e6acba801fe46d10a01925b
/frameworks/base/media/java/android/media/ExifInterface.java
4414eb4b2955be9eb62d1ddf379d1a7ae1822887 05-Nov-2010 Ray Chen <raychen@google.com> Add more EXIF tags.

Change-Id: I77a02a6de6bb4c364bb9718f7bed15468a38a279
/frameworks/base/media/java/android/media/ExifInterface.java
c109190b6984da6cba4cea44a0304b6da12d77e6 20-May-2010 Wu-cheng Li <wuchengli@google.com> Add support for gps altitude EXIF tags.

Also improve the precision of getLatLong().

Change-Id: Id2c60f0d1d19e9da173b5ec1228f03c2195e189f
/frameworks/base/media/java/android/media/ExifInterface.java
e208377fbab6b90f41e68699700942a81f4caaeb 11-Mar-2010 Ray Chen <raychen@google.com> Add GPSProcessingMethod tag to ExifInterface.

Change-Id: I7575ae3195dc510e7020368794a66bb064839104
/frameworks/base/media/java/android/media/ExifInterface.java
5d9661be8eaa2a4702a4d3c0fa0fd07a8638b503 31-Jan-2010 Wu-cheng Li <wuchengli@google.com> Add getAttributeDouble() and focal length tag.

bug:2375989
/frameworks/base/media/java/android/media/ExifInterface.java
3a8cab88e7747dc280ce85895af014f98e80a6cc 15-Jan-2010 Ray Chen <raychen@google.com> Add GpsDateTime support to ExifInterface and correct images table's date_taken value to UTC timestamp.
http://b/2376777
/frameworks/base/media/java/android/media/ExifInterface.java
052d9c8b414dc9eb1c70d849660592d9bc3b2644 04-Dec-2009 Ray Chen <raychen@google.com> Images.Media.DATE_TAKEN should be in milliseconds.
http://b/2297371
/frameworks/base/media/java/android/media/ExifInterface.java
d5fa58cf3d71f2cf94299584050b2698fa3753ec 30-Nov-2009 Ray Chen <raychen@google.com> Fix timezone issue to comply with EXIF standard.
/frameworks/base/media/java/android/media/ExifInterface.java
29e4a3c566f435c32f0b95e4ac8e8b33cac6faba 01-Oct-2009 Dianne Hackborn <hackbod@google.com> Update from API review.

Change-Id: I16b1c566f91167aac9615ac59dd297a154c828ea
/frameworks/base/media/java/android/media/ExifInterface.java
872a30ec723ebdd97de764406544516545d7c9d4 17-Sep-2009 Chih-Chung Chang <chihchung@google.com> Improve ExifInterface API.

Change-Id: Ic6c4df8244b51b9a0d1c73c3797847220d86604d
/frameworks/base/media/java/android/media/ExifInterface.java
9081aec61fede12049fa9adbad41a0b35813ed64 16-Sep-2009 Chih-Chung Chang <chihchung@google.com> Try to fix sdk build again.
/frameworks/base/media/java/android/media/ExifInterface.java
7b886f9e8cc6e59643ead376a13c374a4d975568 16-Sep-2009 Chih-Chung Chang <chihchung@google.com> Fix sdk build.
/frameworks/base/media/java/android/media/ExifInterface.java
017bb4ccf75375b359662932432cc61bd08fec24 16-Sep-2009 Chih-Chung Chang <chihchung@google.com> Make ExifInterface public.
/frameworks/base/media/java/android/media/ExifInterface.java
700beb484624a9a34649cb6ff088468e78b758ff 16-Sep-2009 Chih-Chung Chang <chihchung@google.com> Clean ExifInterface. Prepare to make it public.

Change-Id: Ibff719d02f525c1e8583d1892737224a0cc42c37
/frameworks/base/media/java/android/media/ExifInterface.java
a7bdedabf447a559e0b914e4e5623f3af5ac8ef1 31-Aug-2009 Chih-Chung Chang <chihchung@google.com> Fix 2081525: NPE in MediaScannerService.

Handle the case where the datetime string in jpeg exif is not in the format we expect.

Change-Id: I5462052c3dd723d01bce45f4924137632d081400
/frameworks/base/media/java/android/media/ExifInterface.java
099397cbd07c8c991f3126d0d0ac64bb6b3c0b47 17-Aug-2009 Chih-Chung Chang <chihchung@google.com> Fix 1860351: Put datetime in jpeg exif to datetaken field.
/frameworks/base/media/java/android/media/ExifInterface.java
b826bf9182f4636ea891d1da156e26944b784ef7 11-Aug-2009 Wu-cheng Li <wuchengli@google.com> Fix the bug that EXIF attributes are always cached.

b2039501
/frameworks/base/media/java/android/media/ExifInterface.java
20b03ea70bda3c4fb34e53cdf25cf98c4adb193f 06-Jul-2009 repo sync <raychen@google.com> Move ExifInterface to android.media package so we can reference it from MediaScanner.
Also hide public constructor and wrap common use cases as atomic operation to avoid
race condition in jhead native codes.
/frameworks/base/media/java/android/media/ExifInterface.java