summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikita <nikich340@gmail.com>2016-02-23 15:19:23 +1000
committerMichael Bestas <mikeioannina@gmail.com>2017-01-04 21:57:48 +0200
commite504f93dae40be589d3a1a7bfda66cc2a2857d8b (patch)
treea46d149269478a2a44e9e15e7cb756ca27ae525c
parentd4524d0825b1b2c7c8fb824c06576252e6d60dc4 (diff)
downloadandroid_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.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 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);
}