diff options
Diffstat (limited to 'media/tests/MediaFrameworkTest')
2 files changed, 84 insertions, 0 deletions
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/integration/CameraBinderTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/integration/CameraBinderTest.java index 7dba21d..b6bb578 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/integration/CameraBinderTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/integration/CameraBinderTest.java @@ -205,6 +205,37 @@ public class CameraBinderTest extends AndroidTestCase { } } + @SmallTest + public void testConnectLegacy() throws Exception { + final int CAMERA_HAL_API_VERSION_1_0 = 0x100; + for (int cameraId = 0; cameraId < mUtils.getGuessedNumCameras(); ++cameraId) { + ICamera cameraUser = null; + ICameraClient dummyCallbacks = new DummyCameraClient(); + + String clientPackageName = getContext().getPackageName(); + + BinderHolder holder = new BinderHolder(); + + try { + CameraBinderDecorator.newInstance(mUtils.getCameraService()) + .connectLegacy(dummyCallbacks, cameraId, CAMERA_HAL_API_VERSION_1_0, + clientPackageName, + CameraBinderTestUtils.USE_CALLING_UID, holder); + cameraUser = ICamera.Stub.asInterface(holder.getBinder()); + assertNotNull(String.format("Camera %s was null", cameraId), cameraUser); + + Log.v(TAG, String.format("Camera %s connected as HAL1 legacy device", cameraId)); + } catch (RuntimeException e) { + // Not all camera device support openLegacy. + Log.i(TAG, "Unable to open camera as HAL1 legacy camera device " + e); + } finally { + if (cameraUser != null) { + cameraUser.disconnect(); + } + } + } + } + static class DummyCameraDeviceCallbacks extends ICameraDeviceCallbacks.Stub { /* diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/CameraOpenTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/CameraOpenTest.java new file mode 100644 index 0000000..14bbe44 --- /dev/null +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/CameraOpenTest.java @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.mediaframeworktest.unit; + +import android.hardware.Camera; +import android.test.suitebuilder.annotation.SmallTest; +import android.util.Log; + +/** + * <pre> + * adb shell am instrument \ + * -e class 'com.android.mediaframeworktest.unit.CameraOpenTest' \ + * -w com.android.mediaframeworktest/.MediaFrameworkUnitTestRunner + * </pre> + */ +public class CameraOpenTest extends junit.framework.TestCase { + private static String TAG = "CameraOpenTest"; + + private Camera mCamera; + + /** + * Test @hide android.hardware.Camera#openLegacy API that cannot be tested in CTS. + */ + @SmallTest + public void testOpenLegacy() { + int nCameras = Camera.getNumberOfCameras(); + for (int id = 0; id < nCameras; id++) { + try { + mCamera.openLegacy(id, Camera.CAMERA_HAL_API_VERSION_1_0); + } catch (RuntimeException e) { + Log.i(TAG, "Unable to open camera as HAL1 legacy camera device " + e); + } finally { + if (mCamera != null) { + mCamera.release(); + } + } + } + } +} |