diff options
author | Nikita <nikich340@gmail.com> | 2016-02-23 15:19:23 +1000 |
---|---|---|
committer | Michael Bestas <mikeioannina@gmail.com> | 2017-01-04 21:57:48 +0200 |
commit | e504f93dae40be589d3a1a7bfda66cc2a2857d8b (patch) | |
tree | a46d149269478a2a44e9e15e7cb756ca27ae525c | |
parent | d4524d0825b1b2c7c8fb824c06576252e6d60dc4 (diff) | |
download | android_packages_apps_Snap-e504f93dae40be589d3a1a7bfda66cc2a2857d8b.tar.gz android_packages_apps_Snap-e504f93dae40be589d3a1a7bfda66cc2a2857d8b.tar.bz2 android_packages_apps_Snap-e504f93dae40be589d3a1a7bfda66cc2a2857d8b.zip |
Snap: Fix incorrect preview layout surface size in landscape mode
If height is smaller than width it means that orientation sets to horizontal
and we should decrease width instead height to get normal preview size.
Change-Id: Ifa211ad2604fb730fb85b01ae1d7c93c9b7aa2ce
-rw-r--r-- | src/com/android/camera/PhotoUI.java | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/com/android/camera/PhotoUI.java b/src/com/android/camera/PhotoUI.java index 6b8299c7c..f69420ecd 100644 --- a/src/com/android/camera/PhotoUI.java +++ b/src/com/android/camera/PhotoUI.java @@ -396,8 +396,13 @@ public class PhotoUI implements PieListener, } else { float width = mMaxPreviewWidth, height = mMaxPreviewHeight; if (width == 0 || height == 0) return; - if(mScreenRatio == CameraUtil.RATIO_4_3) - height -= (mTopMargin + mBottomMargin); + if (mScreenRatio == CameraUtil.RATIO_4_3) { + if (height > width) { + height -= (mTopMargin + mBottomMargin); + } else { + width -= (mTopMargin + mBottomMargin); + } + } if (mOrientationResize) { scaledTextureWidth = height * mAspectRatio; if (scaledTextureWidth > width) { @@ -416,7 +421,7 @@ public class PhotoUI implements PieListener, scaledTextureHeight = height; } } else { - if(Math.max(height, width * mAspectRatio) > height) { + if (Math.max(height, width * mAspectRatio) > height) { scaledTextureWidth = height / mAspectRatio; scaledTextureHeight = height; } else { @@ -437,7 +442,7 @@ public class PhotoUI implements PieListener, lp = new FrameLayout.LayoutParams((int) scaledTextureWidth, (int) scaledTextureHeight, Gravity.CENTER); } - if(mScreenRatio == CameraUtil.RATIO_4_3) { + if (mScreenRatio == CameraUtil.RATIO_4_3) { lp.gravity = Gravity.CENTER_HORIZONTAL | Gravity.TOP; lp.setMargins(0, mTopMargin, 0, mBottomMargin); } |