diff options
author | Likai Ding <likaid@codeaurora.org> | 2015-07-30 14:27:43 +0800 |
---|---|---|
committer | Likai Ding <likaid@codeaurora.org> | 2015-07-30 14:34:32 +0800 |
commit | 6ad7a457b15d5f709a118fcd34ab85381bb65141 (patch) | |
tree | b50b1cafadebcab4ca8dd26c12915edc11dd7347 | |
parent | 69a6c4f032c0acc993b009b0275c39de1e756057 (diff) | |
download | android_packages_apps_Snap-6ad7a457b15d5f709a118fcd34ab85381bb65141.tar.gz android_packages_apps_Snap-6ad7a457b15d5f709a118fcd34ab85381bb65141.tar.bz2 android_packages_apps_Snap-6ad7a457b15d5f709a118fcd34ab85381bb65141.zip |
SnapdragonCamera: fix thumbnail display
Thumbnail image is usually larger than needed due to the choice of
down-sampling factor. When the decoded bitmap is square, it's width
and height is not correctly set in CircularDrawable, so only the
left-top part of the cropped image is shown. Set the size and only
decode exactly the region for display.
Change-Id: I5f4af66a08f0dc02d84bda605b74c9e2b782fe63
CRs-Fixed: 881895
-rw-r--r-- | src/com/android/camera/CameraActivity.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java index dd8e64fc0..8f80eae34 100644 --- a/src/com/android/camera/CameraActivity.java +++ b/src/com/android/camera/CameraActivity.java @@ -824,8 +824,6 @@ public class CameraActivity extends Activity int w = opt.outWidth; int h = opt.outHeight; int d = w > h ? h : w; - final Rect rect = w > h ? new Rect((w - h) / 2, 0, (w + h) / 2, h) - : new Rect(0, (h - w) / 2, w, (h + w) / 2); final int target = getResources().getDimensionPixelSize(R.dimen.capture_size); int sample = 1; @@ -834,6 +832,8 @@ public class CameraActivity extends Activity sample *= 2; } } + int st = sample * target; + final Rect rect = new Rect((w - st) / 2, (h - st) / 2, (w + st) / 2, (h + st) / 2); opt.inJustDecodeBounds = false; opt.inSampleSize = sample; @@ -887,6 +887,8 @@ public class CameraActivity extends Activity } else if (w < h) { mLength = w; bitmap = Bitmap.createBitmap(bitmap, 0, (h - w) / 2, w, w); + } else { + mLength = w; } mBitmapShader = new BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP); |