diff options
author | Nikita <nikich340@gmail.com> | 2016-02-23 15:19:23 +1000 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2016-02-29 04:50:26 -0800 |
commit | a301c539d76fe1905a286a4a15b1c59e26f64364 (patch) | |
tree | 1dc7b842dcd7ac88ca2bea485cc82284cf252521 | |
parent | 1b0670f436fe17ee404bc8eff3e9162b5a699c8c (diff) | |
download | android_packages_apps_Snap-a301c539d76fe1905a286a4a15b1c59e26f64364.tar.gz android_packages_apps_Snap-a301c539d76fe1905a286a4a15b1c59e26f64364.tar.bz2 android_packages_apps_Snap-a301c539d76fe1905a286a4a15b1c59e26f64364.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 d2827fce4..5c13a7573 100644 --- a/src/com/android/camera/PhotoUI.java +++ b/src/com/android/camera/PhotoUI.java @@ -383,8 +383,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) { @@ -403,7 +408,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 { @@ -424,7 +429,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); } |