diff options
author | Angus Kong <shkong@google.com> | 2013-08-30 15:10:38 -0700 |
---|---|---|
committer | Angus Kong <shkong@google.com> | 2013-08-30 16:12:58 -0700 |
commit | 62a622b22717b454d3de26bb3311536a27492b6e (patch) | |
tree | 5794193b02b0deb15397a247045cfc6d55c65c91 /src/com/android/camera/data/LocalMediaData.java | |
parent | c09c5f0328a28ccfe9a0a9b37d028e91a94ded94 (diff) | |
download | android_packages_apps_Snap-62a622b22717b454d3de26bb3311536a27492b6e.tar.gz android_packages_apps_Snap-62a622b22717b454d3de26bb3311536a27492b6e.tar.bz2 android_packages_apps_Snap-62a622b22717b454d3de26bb3311536a27492b6e.zip |
Skip bitmaps with 0 dimension.
bug:10514553
Change-Id: I0d26a324ede55b281e60cedc174869f5b863ca31
Diffstat (limited to 'src/com/android/camera/data/LocalMediaData.java')
-rw-r--r-- | src/com/android/camera/data/LocalMediaData.java | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/com/android/camera/data/LocalMediaData.java b/src/com/android/camera/data/LocalMediaData.java index fef141f55..53c153c0c 100644 --- a/src/com/android/camera/data/LocalMediaData.java +++ b/src/com/android/camera/data/LocalMediaData.java @@ -344,22 +344,28 @@ public abstract class LocalMediaData implements LocalData { int width = c.getInt(COL_WIDTH); int height = c.getInt(COL_HEIGHT); if (width <= 0 || height <= 0) { - Log.w(TAG, "Warning! zero dimension for " + Log.w(TAG, "Zero dimension in ContentResolver for " + path + ":" + width + "x" + height); BitmapFactory.Options opts = new BitmapFactory.Options(); opts.inJustDecodeBounds = true; BitmapFactory.decodeFile(path, opts); - if (opts.outWidth != -1 && opts.outHeight != -1) { + if (opts.outWidth > 0 && opts.outHeight > 0) { width = opts.outWidth; height = opts.outHeight; } else { - Log.w(TAG, "Warning! dimension decode failed for " + path); + Log.w(TAG, "Dimension decode failed for " + path); Bitmap b = BitmapFactory.decodeFile(path); if (b == null) { + Log.w(TAG, "PhotoData skipeped." + + " Decoding " + path + "failed."); return null; } width = b.getWidth(); height = b.getHeight(); + if (width == 0 || height == 0) { + Log.w(TAG, "PhotoData skipped. Bitmap size 0 for " + path); + return null; + } } } if (orientation == 90 || orientation == 270) { |