Support multiple cameras in framework.
Change-Id: I081f0fbdca4b633715ea7c3b3d42f8662d27598a
diff --git a/core/jni/android_hardware_Camera.cpp b/core/jni/android_hardware_Camera.cpp
index 6c27841..c363156 100644
--- a/core/jni/android_hardware_Camera.cpp
+++ b/core/jni/android_hardware_Camera.cpp
@@ -288,10 +288,16 @@
}
}
-// connect to camera service
-static void android_hardware_Camera_native_setup(JNIEnv *env, jobject thiz, jobject weak_this)
+static jint android_hardware_Camera_getNumberOfCameras(JNIEnv *env, jobject thiz)
{
- sp<Camera> camera = Camera::connect();
+ return Camera::getNumberOfCameras();
+}
+
+// connect to camera service
+static void android_hardware_Camera_native_setup(JNIEnv *env, jobject thiz,
+ jobject weak_this, jint cameraId)
+{
+ sp<Camera> camera = Camera::connect(cameraId);
if (camera == NULL) {
jniThrowException(env, "java/lang/RuntimeException",
@@ -566,8 +572,11 @@
//-------------------------------------------------
static JNINativeMethod camMethods[] = {
+ { "getNumberOfCameras",
+ "()I",
+ (void *)android_hardware_Camera_getNumberOfCameras },
{ "native_setup",
- "(Ljava/lang/Object;)V",
+ "(Ljava/lang/Object;I)V",
(void*)android_hardware_Camera_native_setup },
{ "native_release",
"()V",