summaryrefslogtreecommitdiffstats
path: root/WallpaperPicker
diff options
context:
space:
mode:
authorMichael Jurka <mikejurka@google.com>2014-01-23 14:37:59 +0100
committerMichael Jurka <mikejurka@google.com>2014-01-23 15:26:50 +0100
commitb1f50d70e9eae490765f599fb0cc2db2cb033760 (patch)
tree4c4403b35d562e4e569b306cc0122e8f047fb90d /WallpaperPicker
parent391f1a8062a17ec0865128a910e6d90049c352d5 (diff)
downloadandroid_packages_apps_Trebuchet-b1f50d70e9eae490765f599fb0cc2db2cb033760.tar.gz
android_packages_apps_Trebuchet-b1f50d70e9eae490765f599fb0cc2db2cb033760.tar.bz2
android_packages_apps_Trebuchet-b1f50d70e9eae490765f599fb0cc2db2cb033760.zip
Catch exceptions if Exif is malformed
Bug: 11650650 Change-Id: Iee8f1675850c692fe54dc619f3e969ba180e4206
Diffstat (limited to 'WallpaperPicker')
-rw-r--r--WallpaperPicker/src/com/android/launcher3/WallpaperCropActivity.java3
-rw-r--r--WallpaperPicker/src/com/android/photos/BitmapRegionTileSource.java6
2 files changed, 9 insertions, 0 deletions
diff --git a/WallpaperPicker/src/com/android/launcher3/WallpaperCropActivity.java b/WallpaperPicker/src/com/android/launcher3/WallpaperCropActivity.java
index 96c972334..23fbe73a3 100644
--- a/WallpaperPicker/src/com/android/launcher3/WallpaperCropActivity.java
+++ b/WallpaperPicker/src/com/android/launcher3/WallpaperCropActivity.java
@@ -276,6 +276,9 @@ public class WallpaperCropActivity extends Activity {
}
} catch (IOException e) {
Log.w(LOGTAG, "Getting exif data failed", e);
+ } catch (NullPointerException e) {
+ // Sometimes the ExifInterface has an internal NPE if Exif data isn't valid
+ Log.w(LOGTAG, "Getting exif data failed", e);
} finally {
Utils.closeSilently(bis);
Utils.closeSilently(is);
diff --git a/WallpaperPicker/src/com/android/photos/BitmapRegionTileSource.java b/WallpaperPicker/src/com/android/photos/BitmapRegionTileSource.java
index cdc5cdcbd..764156de0 100644
--- a/WallpaperPicker/src/com/android/photos/BitmapRegionTileSource.java
+++ b/WallpaperPicker/src/com/android/photos/BitmapRegionTileSource.java
@@ -245,6 +245,9 @@ public class BitmapRegionTileSource implements TiledImageRenderer.TileSource {
try {
ei.readExif(mPath);
return true;
+ } catch (NullPointerException e) {
+ Log.w("BitmapRegionTileSource", "reading exif failed", e);
+ return false;
} catch (IOException e) {
Log.w("BitmapRegionTileSource", "getting decoder failed", e);
return false;
@@ -311,6 +314,9 @@ public class BitmapRegionTileSource implements TiledImageRenderer.TileSource {
} catch (IOException e) {
Log.e("BitmapRegionTileSource", "Failed to load URI " + mUri, e);
return false;
+ } catch (NullPointerException e) {
+ Log.e("BitmapRegionTileSource", "Failed to read EXIF for URI " + mUri, e);
+ return false;
} finally {
Utils.closeSilently(is);
}