diff options
author | Ruben Brunk <rubenbrunk@google.com> | 2013-04-10 17:27:33 -0700 |
---|---|---|
committer | Ruben Brunk <rubenbrunk@google.com> | 2013-04-10 17:27:33 -0700 |
commit | f37454e2ec94f83bc52177b9c986935006619b75 (patch) | |
tree | b948a2ee4abf7d8779bd02d944bda43ecd3a5f8c | |
parent | 7f8e138c86f77e64df7d85ab5d51148418c56ca1 (diff) | |
download | android_packages_apps_Snap-f37454e2ec94f83bc52177b9c986935006619b75.tar.gz android_packages_apps_Snap-f37454e2ec94f83bc52177b9c986935006619b75.tar.bz2 android_packages_apps_Snap-f37454e2ec94f83bc52177b9c986935006619b75.zip |
Fix downsampling check in crop.
Bug: 8586301
Change-Id: I4c5441f779122adb984368609cfea39a60190848
-rw-r--r-- | src/com/android/gallery3d/filtershow/crop/CropLoader.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/filtershow/crop/CropLoader.java b/src/com/android/gallery3d/filtershow/crop/CropLoader.java index d2a681f38..132d6c1dc 100644 --- a/src/com/android/gallery3d/filtershow/crop/CropLoader.java +++ b/src/com/android/gallery3d/filtershow/crop/CropLoader.java @@ -144,14 +144,16 @@ public abstract class CropLoader { // Find best downsampling size int imageSide = Math.max(w, h); + options.inSampleSize = 1; if (imageSide > maxSideLength) { int shifts = 1 + Integer.numberOfLeadingZeros(maxSideLength) - Integer.numberOfLeadingZeros(imageSide); - options.inSampleSize = 1 << shifts; + options.inSampleSize <<= shifts; } // Make sure sample size is reasonable - if (0 >= (int) (Math.min(w, h) / options.inSampleSize)) { + if (options.inSampleSize <= 0 || + 0 >= (int) (Math.min(w, h) / options.inSampleSize)) { return null; } |