am 33689420: am eec25a4f: am 1017f986: Merge "Camera2: Add camera type to getNumberOfCameras." into mnc-dev
* commit '33689420d13283f192c66ca7e78776064a2def28': Camera2: Add camera type to getNumberOfCameras.
This commit is contained in:
@@ -35,7 +35,7 @@ interface ICameraService
|
|||||||
/**
|
/**
|
||||||
* Keep up-to-date with frameworks/av/include/camera/ICameraService.h
|
* Keep up-to-date with frameworks/av/include/camera/ICameraService.h
|
||||||
*/
|
*/
|
||||||
int getNumberOfCameras();
|
int getNumberOfCameras(int type);
|
||||||
|
|
||||||
// rest of 'int' return values in this file are actually status_t
|
// rest of 'int' return values in this file are actually status_t
|
||||||
|
|
||||||
|
|||||||
@@ -64,6 +64,9 @@ public final class CameraManager {
|
|||||||
private static final int API_VERSION_1 = 1;
|
private static final int API_VERSION_1 = 1;
|
||||||
private static final int API_VERSION_2 = 2;
|
private static final int API_VERSION_2 = 2;
|
||||||
|
|
||||||
|
private static final int CAMERA_TYPE_BACKWARD_COMPATIBLE = 0;
|
||||||
|
private static final int CAMERA_TYPE_ALL = 1;
|
||||||
|
|
||||||
private ArrayList<String> mDeviceIdList;
|
private ArrayList<String> mDeviceIdList;
|
||||||
|
|
||||||
private final Context mContext;
|
private final Context mContext;
|
||||||
@@ -615,7 +618,7 @@ public final class CameraManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
numCameras = cameraService.getNumberOfCameras();
|
numCameras = cameraService.getNumberOfCameras(CAMERA_TYPE_ALL);
|
||||||
} catch(CameraRuntimeException e) {
|
} catch(CameraRuntimeException e) {
|
||||||
throw e.asChecked();
|
throw e.asChecked();
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
|
|||||||
@@ -497,6 +497,12 @@ static void android_hardware_Camera_getCameraInfo(JNIEnv *env, jobject thiz,
|
|||||||
jint cameraId, jobject info_obj)
|
jint cameraId, jobject info_obj)
|
||||||
{
|
{
|
||||||
CameraInfo cameraInfo;
|
CameraInfo cameraInfo;
|
||||||
|
if (cameraId >= Camera::getNumberOfCameras() || cameraId < 0) {
|
||||||
|
ALOGE("%s: Unknown camera ID %d", __FUNCTION__, cameraId);
|
||||||
|
jniThrowRuntimeException(env, "Unknown camera ID");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
status_t rc = Camera::getCameraInfo(cameraId, &cameraInfo);
|
status_t rc = Camera::getCameraInfo(cameraId, &cameraInfo);
|
||||||
if (rc != NO_ERROR) {
|
if (rc != NO_ERROR) {
|
||||||
jniThrowRuntimeException(env, "Fail to get camera info");
|
jniThrowRuntimeException(env, "Fail to get camera info");
|
||||||
|
|||||||
@@ -56,6 +56,9 @@ public class CameraBinderTest extends AndroidTestCase {
|
|||||||
private static final int API_VERSION_1 = 1;
|
private static final int API_VERSION_1 = 1;
|
||||||
private static final int API_VERSION_2 = 2;
|
private static final int API_VERSION_2 = 2;
|
||||||
|
|
||||||
|
private static final int CAMERA_TYPE_BACKWARD_COMPATIBLE = 0;
|
||||||
|
private static final int CAMERA_TYPE_ALL = 1;
|
||||||
|
|
||||||
protected CameraBinderTestUtils mUtils;
|
protected CameraBinderTestUtils mUtils;
|
||||||
|
|
||||||
public CameraBinderTest() {
|
public CameraBinderTest() {
|
||||||
@@ -71,7 +74,7 @@ public class CameraBinderTest extends AndroidTestCase {
|
|||||||
@SmallTest
|
@SmallTest
|
||||||
public void testNumberOfCameras() throws Exception {
|
public void testNumberOfCameras() throws Exception {
|
||||||
|
|
||||||
int numCameras = mUtils.getCameraService().getNumberOfCameras();
|
int numCameras = mUtils.getCameraService().getNumberOfCameras(CAMERA_TYPE_ALL);
|
||||||
assertTrue("At least this many cameras: " + mUtils.getGuessedNumCameras(),
|
assertTrue("At least this many cameras: " + mUtils.getGuessedNumCameras(),
|
||||||
numCameras >= mUtils.getGuessedNumCameras());
|
numCameras >= mUtils.getGuessedNumCameras());
|
||||||
Log.v(TAG, "Number of cameras " + numCameras);
|
Log.v(TAG, "Number of cameras " + numCameras);
|
||||||
|
|||||||
Reference in New Issue
Block a user