summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikita <nikich340@gmail.com>2016-02-23 15:19:23 +1000
committerGerrit Code Review <gerrit@cyanogenmod.org>2016-02-29 04:50:26 -0800
commita301c539d76fe1905a286a4a15b1c59e26f64364 (patch)
tree1dc7b842dcd7ac88ca2bea485cc82284cf252521
parent1b0670f436fe17ee404bc8eff3e9162b5a699c8c (diff)
downloadandroid_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.java13
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);
}