summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikita <nikich340@gmail.com>2016-02-23 15:19:23 +1000
committerArne Coucheron <arco68@gmail.com>2018-01-26 01:03:37 +0100
commita06f22b2a227a20b8d52adefb135ad7f7332ebf1 (patch)
tree4c6439a0329fed3661ceffc2fa141f9d07719819
parent1211389539ab4d4cce4bf9bbb8467b43ba6032d0 (diff)
downloadandroid_packages_apps_Snap-a06f22b2a227a20b8d52adefb135ad7f7332ebf1.tar.gz
android_packages_apps_Snap-a06f22b2a227a20b8d52adefb135ad7f7332ebf1.tar.bz2
android_packages_apps_Snap-a06f22b2a227a20b8d52adefb135ad7f7332ebf1.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 4ce7a4f9b..9dd1ed2b1 100644
--- a/src/com/android/camera/PhotoUI.java
+++ b/src/com/android/camera/PhotoUI.java
@@ -406,8 +406,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) {
@@ -426,7 +431,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 {
@@ -447,7 +452,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);
}