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

am: b336cce830

Change-Id: Ib90b72ce9abefc6a7ceab1070555ded45dc8567d
This commit is contained in:
Sungsoo
2016-09-09 22:54:12 +00:00
committed by android-build-merger

View File

@@ -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();