tree fd3f838fbfb5904d3b29324a669c889c930bc3f7
parent d5d39ae280156d1ea1c94b78a229d8c966dab7b2
author Jin Seok Park <jinpark@google.com> 1600675859 +0900
committer Jin Seok Park <jinpark@google.com> 1600747826 +0900

Remove UnsupportedAppUsage from ExifInterface

UnsupportedAppUsage annotation should be removed before moving
ExifInterface to mainline.

1. Add publicAlternative param to annotation for the following
   variable so that the annotation can be removed after one
   successful main branch build (see http://shortn/_GPplGcAAB3 for
   context):
    mAttributes
2. Remove annotation for the following API since they do not
support reflection after Android P:
    sFormatter
    mFilename
    mHasThumbnail
    convertRationalLatLonToFloat(String rationalString, String ref)
3. Remove annotation and make public the following APIs:
    getDateTime()
    getDateTimeOriginal()
    getDateTimeDigitized()
    getGpsDateTime()

Bug: 159569444
Test: build &&
    atest CtsMediaTestCases:android.media.cts.ExifInterfaceTest
Change-Id: Ic2af9d53a9e7797d6c37b0367b0578dbf6e452ad
