Checking hardware feature when test rear camera
To support the device which do not have rear camera
Change-Id: I81bcaa1f4fbdf0b1fb94f5f7c82e2b0e179c629e
diff --git a/tests/tests/hardware/src/android/hardware/cts/Camera_SizeTest.java b/tests/tests/hardware/src/android/hardware/cts/Camera_SizeTest.java
index 028b819..0b7b69f 100644
--- a/tests/tests/hardware/src/android/hardware/cts/Camera_SizeTest.java
+++ b/tests/tests/hardware/src/android/hardware/cts/Camera_SizeTest.java
@@ -43,12 +43,18 @@
args = {int.class, int.class}
)
public void testConstructor() {
- Camera camera = Camera.open();
+ if (Camera.getNumberOfCameras() < 1) {
+ return;
+ }
+
+ Camera camera = Camera.open(0);
Parameters parameters = camera.getParameters();
checkSize(parameters, WIDTH1, HEIGHT1);
checkSize(parameters, WIDTH2, HEIGHT2);
checkSize(parameters, WIDTH3, HEIGHT3);
+
+ camera.release();
}
private void checkSize(Parameters parameters, int width, int height) {
diff --git a/tests/tests/media/src/android/media/cts/CamcorderProfileTest.java b/tests/tests/media/src/android/media/cts/CamcorderProfileTest.java
index e2cbebb..4b0728b 100644
--- a/tests/tests/media/src/android/media/cts/CamcorderProfileTest.java
+++ b/tests/tests/media/src/android/media/cts/CamcorderProfileTest.java
@@ -21,6 +21,7 @@
import dalvik.annotation.TestTargetNew;
import dalvik.annotation.TestTargets;
+import android.content.pm.PackageManager;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.hardware.Camera.Size;
@@ -235,6 +236,16 @@
)
})
public void testGet() {
+ /*
+ * Device may not have rear camera for checkGet(-1).
+ * Checking PackageManager.FEATURE_CAMERA is included or not to decide the flow.
+ * Continue if the feature is included.
+ * Otherwise, exit test.
+ */
+ PackageManager pm = mContext.getPackageManager();
+ if (!pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
+ return;
+ }
checkGet(-1);
}
diff --git a/tests/tests/media/src/android/media/cts/MediaRecorderTest.java b/tests/tests/media/src/android/media/cts/MediaRecorderTest.java
index ead3d62..70b108e 100644
--- a/tests/tests/media/src/android/media/cts/MediaRecorderTest.java
+++ b/tests/tests/media/src/android/media/cts/MediaRecorderTest.java
@@ -170,22 +170,27 @@
)
@UiThreadTest
public void testSetCamera() throws Exception {
- mCamera = Camera.open();
- mCamera.unlock();
- mMediaRecorder.setCamera(mCamera);
- mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
- mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
- mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
- mMediaRecorder.setVideoFrameRate(FRAME_RATE);
- mMediaRecorder.setVideoSize(VIDEO_WIDTH, VIDEO_HEIGHT);
- mMediaRecorder.setPreviewDisplay(getActivity().getSurfaceHolder().getSurface());
- mMediaRecorder.setOutputFile(OUTPUT_PATH);
+ int nCamera = Camera.getNumberOfCameras();
+ for (int cameraId = 0; cameraId < nCamera; cameraId++) {
+ mCamera = Camera.open(cameraId);
+ mCamera.unlock();
+ mMediaRecorder.setCamera(mCamera);
+ mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
+ mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
+ mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
+ mMediaRecorder.setVideoFrameRate(FRAME_RATE);
+ mMediaRecorder.setVideoSize(VIDEO_WIDTH, VIDEO_HEIGHT);
+ mMediaRecorder.setPreviewDisplay(getActivity().getSurfaceHolder().getSurface());
+ mMediaRecorder.setOutputFile(OUTPUT_PATH);
- mMediaRecorder.prepare();
- mMediaRecorder.start();
- Thread.sleep(1000);
- mMediaRecorder.stop();
- assertTrue(mOutFile.exists());
+ mMediaRecorder.prepare();
+ mMediaRecorder.start();
+ Thread.sleep(1000);
+ mMediaRecorder.stop();
+ assertTrue(mOutFile.exists());
+
+ mCamera.release();
+ }
}
private void checkOutputExist() {