summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeith Mok <kmok@cyngn.com>2016-06-17 08:51:56 -0700
committerArne Coucheron <arco68@gmail.com>2018-01-26 01:08:59 +0100
commit2f6cd94e4170fe6f297c87f7aa8823da326b3f10 (patch)
tree022359ba03af6020b5854e602d67a35aa43838e5
parentb9e72b24b7d54d5b71160235bcd9003b05b2f6b9 (diff)
downloadandroid_packages_apps_Snap-2f6cd94e4170fe6f297c87f7aa8823da326b3f10.zip
android_packages_apps_Snap-2f6cd94e4170fe6f297c87f7aa8823da326b3f10.tar.gz
android_packages_apps_Snap-2f6cd94e4170fe6f297c87f7aa8823da326b3f10.tar.bz2
CameraNext: Fallback to do copy exif if exif not exist
If exif in jpeg does not exist, rewriteExif will throw IOException instead of returning false. Let's catch it and fallback to the original logic to do a copy instead of in-place replacement. FEIJ-1245 Change-Id: I61b8bd9b9b7c855bff1897c036d948fcd16bb30a
-rw-r--r--src/com/android/camera/exif/ExifInterface.java11
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 4ecdd77..82dee3a 100644
--- a/src/com/android/camera/exif/ExifInterface.java
+++ b/src/com/android/camera/exif/ExifInterface.java
@@ -1097,7 +1097,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);