summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorKeith Mok <kmok@cyngn.com>2016-06-17 08:51:56 -0700
committerBruno Martins <bgcngm@gmail.com>2018-11-20 12:31:36 +0000
commitd0c79e8850c91884276b0854ff083d79e10ef35e (patch)
treefde97c50d9940e7e33ddbadc32e4b615bcdf0da6 /src/com
parent9c249e99059a7f1a9b4a8d9e73d62a296e86806b (diff)
downloadandroid_packages_apps_Snap-d0c79e8850c91884276b0854ff083d79e10ef35e.tar.gz
android_packages_apps_Snap-d0c79e8850c91884276b0854ff083d79e10ef35e.tar.bz2
android_packages_apps_Snap-d0c79e8850c91884276b0854ff083d79e10ef35e.zip
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
Diffstat (limited to 'src/com')
-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 4ecdd7703..82dee3a19 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);