DO NOT MERGE) ExifInterface: Make saveAttributes throw an exception before change
am: 1bdd10a953
Change-Id: I644f8187ed6f5957fc273b98c10ed0c602ed1879
This commit is contained in:
@ -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();
|
||||
|
||||
|
Reference in New Issue
Block a user