From faa5075dbe7fef69c95dbd87e0c5fd3236fdf7ec Mon Sep 17 00:00:00 2001 From: Andrei Diaconu Date: Thu, 23 Mar 2017 13:05:04 +0200 Subject: [PATCH] Fixed landscape rotation issues --- .../api16/com/flurgle/camerakit/Camera1.java | 5 ++- .../flurgle/camerakit/TextureViewPreview.java | 37 ------------------- 2 files changed, 3 insertions(+), 39 deletions(-) diff --git a/camerakit/src/main/api16/com/flurgle/camerakit/Camera1.java b/camerakit/src/main/api16/com/flurgle/camerakit/Camera1.java index f145d74b..5a46b351 100644 --- a/camerakit/src/main/api16/com/flurgle/camerakit/Camera1.java +++ b/camerakit/src/main/api16/com/flurgle/camerakit/Camera1.java @@ -354,9 +354,10 @@ public class Camera1 extends CameraImpl { } private void adjustCameraParameters() { + boolean invertPreviewSizes = mDisplayOrientation%180 != 0; mPreview.setTruePreviewSize( - getPreviewResolution().getWidth(), - getPreviewResolution().getHeight() + invertPreviewSizes? getPreviewResolution().getHeight() : getPreviewResolution().getWidth(), + invertPreviewSizes? getPreviewResolution().getWidth() : getPreviewResolution().getHeight() ); mCameraParameters.setPreviewSize( diff --git a/camerakit/src/main/base/com/flurgle/camerakit/TextureViewPreview.java b/camerakit/src/main/base/com/flurgle/camerakit/TextureViewPreview.java index 4df13abf..4f2e226d 100644 --- a/camerakit/src/main/base/com/flurgle/camerakit/TextureViewPreview.java +++ b/camerakit/src/main/base/com/flurgle/camerakit/TextureViewPreview.java @@ -2,7 +2,6 @@ package com.flurgle.camerakit; import android.annotation.TargetApi; import android.content.Context; -import android.graphics.Matrix; import android.graphics.SurfaceTexture; import android.view.Surface; import android.view.TextureView; @@ -24,14 +23,12 @@ class TextureViewPreview extends PreviewImpl { @Override public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) { setSize(width, height); - configureTransform(); dispatchSurfaceChanged(); } @Override public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) { setSize(width, height); - configureTransform(); dispatchSurfaceChanged(); setTruePreviewSize(mTrueWidth, mTrueHeight); } @@ -71,7 +68,6 @@ class TextureViewPreview extends PreviewImpl { @Override void setDisplayOrientation(int displayOrientation) { mDisplayOrientation = displayOrientation; - configureTransform(); } @Override @@ -98,37 +94,4 @@ class TextureViewPreview extends PreviewImpl { } } - void configureTransform() { - Matrix matrix = new Matrix(); - if (mDisplayOrientation % 180 == 90) { - final int width = getWidth(); - final int height = getHeight(); - // Rotate the camera preview when the screen is landscape. - matrix.setPolyToPoly( - new float[]{ - 0.f, 0.f, // top left - width, 0.f, // top right - 0.f, height, // bottom left - width, height, // bottom right - }, 0, - mDisplayOrientation == 90 ? - // Clockwise - new float[]{ - 0.f, height, // top left - 0.f, 0.f, // top right - width, height, // bottom left - width, 0.f, // bottom right - } : // mDisplayOrientation == 270 - // Counter-clockwise - new float[]{ - width, 0.f, // top left - width, height, // top right - 0.f, 0.f, // bottom left - 0.f, height, // bottom right - }, 0, - 4); - } - mTextureView.setTransform(matrix); - } - }