diff options
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/camera/exif/ExifInterface.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/com/android/camera/exif/ExifInterface.java b/src/com/android/camera/exif/ExifInterface.java index 3049d2680..beacbc00d 100644 --- a/src/com/android/camera/exif/ExifInterface.java +++ b/src/com/android/camera/exif/ExifInterface.java @@ -1098,7 +1098,16 @@ public class ExifInterface { throws FileNotFoundException, IOException { // Attempt in-place write - if (!rewriteExif(filename, tags)) { + boolean rewriteOkay = false; + try { + rewriteOkay = rewriteExif(filename, tags); + } catch (IOException e) { + // If jpeg does not contains exif, rewriteExif + // will throw EOF IOException, let's catch + // it and fall back to do a copy instead + // of in-place replacement. + } + if (!rewriteOkay) { // Fall back to doing a copy ExifData tempData = mData; mData = new ExifData(DEFAULT_BYTE_ORDER); |