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

Commit b336cce8 authored by Sungsoo's avatar Sungsoo Committed by android-build-merger
Browse files

DO NOT MERGE) ExifInterface: Make saveAttributes throw an exception before change

am: 1bdd10a9

Change-Id: I644f8187ed6f5957fc273b98c10ed0c602ed1879
parents 21ef672c 1bdd10a9
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1034,6 +1034,7 @@ public class ExifInterface {
    private int mThumbnailOffset;
    private int mThumbnailLength;
    private byte[] mThumbnailBytes;
    private boolean mIsSupportedFile;

    // Pattern to check non zero timestamp
    private static final Pattern sNonZeroTimePattern = Pattern.compile(".*[1-9].*");
@@ -1332,9 +1333,11 @@ public class ExifInterface {
        try {
            InputStream in = new FileInputStream(mFilename);
            getJpegAttributes(in);
            mIsSupportedFile = true;
        } catch (IOException e) {
            // Ignore exceptions in order to keep the compatibility with the old versions of
            // ExifInterface.
            mIsSupportedFile = false;
            Log.w(TAG, "Invalid image.", e);
        } finally {
            addDefaultValuesForCompatibility();
@@ -1363,6 +1366,10 @@ public class ExifInterface {
     * and make a single call rather than multiple calls for each attribute.
     */
    public void saveAttributes() throws IOException {
        if (!mIsSupportedFile) {
            throw new UnsupportedOperationException(
                    "ExifInterface only supports saving attributes on JPEG formats.");
        }
        // Keep the thumbnail in memory
        mThumbnailBytes = getThumbnail();