camera: Get detailed error reporting from api1 Camera if open fails

* Also maps camera2 open errors the same for shim/nonshim paths

Change-Id: I08d9d1e30e72025c41bd54b702d7ae95b32257be
diff --git a/core/jni/android_hardware_Camera.cpp b/core/jni/android_hardware_Camera.cpp
index 4c9feca..f8bab24 100644
--- a/core/jni/android_hardware_Camera.cpp
+++ b/core/jni/android_hardware_Camera.cpp
@@ -36,6 +36,11 @@
 
 using namespace android;
 
+enum {
+    // Keep up to date with Camera.java
+    CAMERA_HAL_API_VERSION_NORMAL_CONNECT = -2,
+};
+
 struct fields_t {
     jfieldID    context;
     jfieldID    facing;
@@ -475,8 +480,8 @@
     env->ReleaseStringChars(clientPackageName, rawClientName);
 
     sp<Camera> camera;
-    if (halVersion == ICameraService::CAMERA_HAL_API_VERSION_UNSPECIFIED) {
-        // Default path: hal version is unspecified, do normal camera open.
+    if (halVersion == CAMERA_HAL_API_VERSION_NORMAL_CONNECT) {
+        // Default path: hal version is don't care, do normal camera connect.
         camera = Camera::connect(cameraId, clientName,
                 Camera::USE_CALLING_UID);
     } else {