Camera2: Add camera type to getNumberOfCameras.

Do not list strange cameras in old API; ensure new API gets all
cameras.

Bug: 23194168
Change-Id: Ia1fdffac245525674c913fefb1ec06e9094fe8d3
diff --git a/core/jni/android_hardware_Camera.cpp b/core/jni/android_hardware_Camera.cpp
index 169fb60..4f44c262 100644
--- a/core/jni/android_hardware_Camera.cpp
+++ b/core/jni/android_hardware_Camera.cpp
@@ -497,6 +497,12 @@
     jint cameraId, jobject info_obj)
 {
     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);
     if (rc != NO_ERROR) {
         jniThrowRuntimeException(env, "Fail to get camera info");