aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2019-04-10 03:04:10 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2019-04-10 03:04:10 +0000
commit9f2c75b72f2ad4b636b0158bd6b33b33f6bb0bc9 (patch)
tree9f303ba3566f38aff9c9bb881bc6cc3e997212aa
parent326ac77ba442148a6b825e4547ad93c3b537cdc1 (diff)
parent8112961f0cfa2bef459f5dd3dd77462cd6325d8b (diff)
downloadpdk-android-vts-10.0_r4.tar.gz
Snap for 5452883 from 8112961f0cfa2bef459f5dd3dd77462cd6325d8b to qt-releaseandroid-vts-10.0_r9android-vts-10.0_r8android-vts-10.0_r7android-vts-10.0_r6android-vts-10.0_r5android-vts-10.0_r4android-vts-10.0_r3android-vts-10.0_r2android-vts-10.0_r16android-vts-10.0_r15android-vts-10.0_r14android-vts-10.0_r13android-vts-10.0_r12android-vts-10.0_r11android-vts-10.0_r10android-vts-10.0_r1android-security-10.0.0_r75android-security-10.0.0_r74android-security-10.0.0_r73android-security-10.0.0_r72android-security-10.0.0_r71android-security-10.0.0_r70android-security-10.0.0_r69android-security-10.0.0_r68android-security-10.0.0_r67android-security-10.0.0_r66android-security-10.0.0_r65android-security-10.0.0_r64android-security-10.0.0_r63android-security-10.0.0_r62android-security-10.0.0_r61android-security-10.0.0_r60android-security-10.0.0_r59android-security-10.0.0_r58android-security-10.0.0_r57android-security-10.0.0_r56android-security-10.0.0_r55android-security-10.0.0_r54android-security-10.0.0_r53android-security-10.0.0_r52android-security-10.0.0_r51android-security-10.0.0_r50android-security-10.0.0_r49android-security-10.0.0_r48android-mainline-10.0.0_r3android-mainline-10.0.0_r2android-mainline-10.0.0_r1android-cts-10.0_r9android-cts-10.0_r8android-cts-10.0_r7android-cts-10.0_r6android-cts-10.0_r5android-cts-10.0_r4android-cts-10.0_r3android-cts-10.0_r2android-cts-10.0_r16android-cts-10.0_r15android-cts-10.0_r14android-cts-10.0_r13android-cts-10.0_r12android-cts-10.0_r11android-cts-10.0_r10android-cts-10.0_r1android-10.0.0_r6android-10.0.0_r5android-10.0.0_r47android-10.0.0_r46android-10.0.0_r4android-10.0.0_r3android-10.0.0_r2android-10.0.0_r17android-10.0.0_r11android-10.0.0_r10android-10.0.0_r1android10-tests-releaseandroid10-security-releaseandroid10-s3-releaseandroid10-s2-releaseandroid10-s1-releaseandroid10-releaseandroid10-mainline-releaseandroid10-mainline-a-releaseandroid10-gsi
Change-Id: Ifa3e1fad46c161b4ef8949b81dccf3663cf7110c
-rw-r--r--apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java61
1 files changed, 60 insertions, 1 deletions
diff --git a/apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java b/apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java
index ec76c8f..f796dee 100644
--- a/apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java
+++ b/apps/TestingCamera/src/com/android/testingcamera/TestingCamera.java
@@ -34,6 +34,7 @@ import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.SystemClock;
+import android.view.OrientationEventListener;
import android.view.View;
import android.view.Surface;
import android.view.SurfaceHolder;
@@ -179,6 +180,7 @@ public class TestingCamera extends Activity
private static final int PERMISSIONS_REQUEST_CAMERA = 1;
private static final int PERMISSIONS_REQUEST_RECORDING = 2;
static final int PERMISSIONS_REQUEST_SNAPSHOT = 3;
+ private OrientationEventHandler mOrientationHandler;
/** Activity lifecycle */
@@ -331,6 +333,34 @@ public class TestingCamera extends Activity
}
mRS = RenderScript.create(this);
+
+ mOrientationHandler = new OrientationEventHandler(this);
+ }
+
+ private static class OrientationEventHandler extends OrientationEventListener {
+ private TestingCamera mActivity;
+ private int mCurrentRotation = -1;
+ OrientationEventHandler(TestingCamera activity) {
+ super(activity);
+ mActivity = activity;
+ }
+
+ @Override
+ public void onOrientationChanged(int orientation) {
+ if (mActivity != null) {
+ int rotation = mActivity.getWindowManager().getDefaultDisplay().getRotation();
+ if (mCurrentRotation != rotation) {
+ mCurrentRotation = rotation;
+ mActivity.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ mActivity.setCameraDisplayOrientation();
+ mActivity.resizePreview();
+ }
+ });
+ }
+ }
+ }
}
@Override
@@ -338,6 +368,7 @@ public class TestingCamera extends Activity
super.onResume();
log("onResume: Setting up");
setUpCamera();
+ mOrientationHandler.enable();
}
@Override
@@ -361,6 +392,7 @@ public class TestingCamera extends Activity
}
mState = CAMERA_UNINITIALIZED;
}
+ mOrientationHandler.disable();
}
@Override
@@ -418,7 +450,7 @@ public class TestingCamera extends Activity
}
}
- if (mPreviewHolder != null) {
+ if (mPreviewHolder != null || mState == CAMERA_UNINITIALIZED) {
return;
}
log("Surface holder available: " + width + " x " + height);
@@ -1397,8 +1429,33 @@ public class TestingCamera extends Activity
}
void layoutPreview() {
+ int rotation = getWindowManager().getDefaultDisplay().getRotation();
int width = mPreviewSizes.get(mPreviewSize).width;
int height = mPreviewSizes.get(mPreviewSize).height;
+ switch (rotation) {
+ case Surface.ROTATION_0:
+ case Surface.ROTATION_180:
+ // Portrait
+ // Switch the preview size so that the longer edge aligns with the taller
+ // dimension.
+ if (width > height) {
+ int tmp = height;
+ height = width;
+ width = tmp;
+ }
+ break;
+ case Surface.ROTATION_90:
+ case Surface.ROTATION_270:
+ // Landscape
+ // Possibly somewhat unlikely case but we should try to handle it too.
+ if (height > width) {
+ int tmp = height;
+ height = width;
+ width = tmp;
+ }
+ break;
+ }
+
float previewAspect = ((float) width) / height;
int viewHeight = mPreviewView.getHeight();
@@ -1411,6 +1468,8 @@ public class TestingCamera extends Activity
}
mPreviewView.setLayoutParams(
new LayoutParams(viewWidth, viewHeight));
+ log("Setting layout params viewWidth: " + viewWidth + " viewHeight: " + viewHeight +
+ " display rotation: " + rotation);
if (mCallbacksEnabled) {
int callbackHeight = mCallbackView.getHeight();