Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0e7d2253 authored by Jaesung Chung's avatar Jaesung Chung
Browse files

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
parent dd3d44fa
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -20260,9 +20260,9 @@ package android.media {
    field public static final java.lang.String TAG_SUBJECT_DISTANCE_RANGE = "SubjectDistanceRange";
    field public static final java.lang.String TAG_SUBJECT_LOCATION = "SubjectLocation";
    field public static final java.lang.String TAG_SUBSEC_TIME = "SubSecTime";
    field public static final java.lang.String TAG_SUBSEC_TIME_DIG = "SubSecTimeDigitized";
    field public static final deprecated java.lang.String TAG_SUBSEC_TIME_DIG = "SubSecTimeDigitized";
    field public static final java.lang.String TAG_SUBSEC_TIME_DIGITIZED = "SubSecTimeDigitized";
    field public static final java.lang.String TAG_SUBSEC_TIME_ORIG = "SubSecTimeOriginal";
    field public static final deprecated java.lang.String TAG_SUBSEC_TIME_ORIG = "SubSecTimeOriginal";
    field public static final java.lang.String TAG_SUBSEC_TIME_ORIGINAL = "SubSecTimeOriginal";
    field public static final java.lang.String TAG_THUMBNAIL_IMAGE_LENGTH = "ThumbnailImageLength";
    field public static final java.lang.String TAG_THUMBNAIL_IMAGE_WIDTH = "ThumbnailImageWidth";
+2 −2
Original line number Diff line number Diff line
@@ -21741,9 +21741,9 @@ package android.media {
    field public static final java.lang.String TAG_SUBJECT_DISTANCE_RANGE = "SubjectDistanceRange";
    field public static final java.lang.String TAG_SUBJECT_LOCATION = "SubjectLocation";
    field public static final java.lang.String TAG_SUBSEC_TIME = "SubSecTime";
    field public static final java.lang.String TAG_SUBSEC_TIME_DIG = "SubSecTimeDigitized";
    field public static final deprecated java.lang.String TAG_SUBSEC_TIME_DIG = "SubSecTimeDigitized";
    field public static final java.lang.String TAG_SUBSEC_TIME_DIGITIZED = "SubSecTimeDigitized";
    field public static final java.lang.String TAG_SUBSEC_TIME_ORIG = "SubSecTimeOriginal";
    field public static final deprecated java.lang.String TAG_SUBSEC_TIME_ORIG = "SubSecTimeOriginal";
    field public static final java.lang.String TAG_SUBSEC_TIME_ORIGINAL = "SubSecTimeOriginal";
    field public static final java.lang.String TAG_THUMBNAIL_IMAGE_LENGTH = "ThumbnailImageLength";
    field public static final java.lang.String TAG_THUMBNAIL_IMAGE_WIDTH = "ThumbnailImageWidth";
+2 −2
Original line number Diff line number Diff line
@@ -20328,9 +20328,9 @@ package android.media {
    field public static final java.lang.String TAG_SUBJECT_DISTANCE_RANGE = "SubjectDistanceRange";
    field public static final java.lang.String TAG_SUBJECT_LOCATION = "SubjectLocation";
    field public static final java.lang.String TAG_SUBSEC_TIME = "SubSecTime";
    field public static final java.lang.String TAG_SUBSEC_TIME_DIG = "SubSecTimeDigitized";
    field public static final deprecated java.lang.String TAG_SUBSEC_TIME_DIG = "SubSecTimeDigitized";
    field public static final java.lang.String TAG_SUBSEC_TIME_DIGITIZED = "SubSecTimeDigitized";
    field public static final java.lang.String TAG_SUBSEC_TIME_ORIG = "SubSecTimeOriginal";
    field public static final deprecated java.lang.String TAG_SUBSEC_TIME_ORIG = "SubSecTimeOriginal";
    field public static final java.lang.String TAG_SUBSEC_TIME_ORIGINAL = "SubSecTimeOriginal";
    field public static final java.lang.String TAG_THUMBNAIL_IMAGE_LENGTH = "ThumbnailImageLength";
    field public static final java.lang.String TAG_THUMBNAIL_IMAGE_WIDTH = "ThumbnailImageWidth";
+963 −576

File changed.

Preview size limit exceeded, changes collapsed.

+5 −5
Original line number Diff line number Diff line
@@ -138,11 +138,11 @@ static jobject getRawAttributes(JNIEnv* env, SkStream* stream, bool returnThumbn

    if (image_data.thumbnail.length > 0
            && image_data.thumbnail.format == ::piex::Image::kJpegCompressed) {
        map.add(String8("hasThumbnail"), String8("true"));
        map.add(String8("thumbnailOffset"), String8::format("%d", image_data.thumbnail.offset));
        map.add(String8("thumbnailLength"), String8::format("%d", image_data.thumbnail.length));
        map.add(String8("HasThumbnail"), String8("true"));
        map.add(String8("ThumbnailOffset"), String8::format("%d", image_data.thumbnail.offset));
        map.add(String8("ThumbnailLength"), String8::format("%d", image_data.thumbnail.length));
    } else {
        map.add(String8("hasThumbnail"), String8("false"));
        map.add(String8("HasThumbnail"), String8("false"));
    }

    map.add(
@@ -307,7 +307,7 @@ static jobject getRawAttributes(JNIEnv* env, SkStream* stream, bool returnThumbn
                (uint8_t*)thumbnailData.get());
        env->SetByteArrayRegion(
                jthumbnailByteArray, 0, image_data.thumbnail.length, thumbnailData.get());
        jstring jkey = env->NewStringUTF(String8("thumbnailData"));
        jstring jkey = env->NewStringUTF(String8("ThumbnailData"));
        env->CallObjectMethod(hashMap, gFields.hashMap.put, jkey, jthumbnailByteArray);
        env->DeleteLocalRef(jkey);
        env->DeleteLocalRef(jthumbnailByteArray);
Loading