Merge changes Ic92924ce,I53107a39 into jb-mr2-dev

* changes:
  Camera2: getSceneMode should return NULL when there are no supported scene modes
  commandStartFaceDetectionL returned the wrong value when face detection is not supported by the HAL. This caused the JNI function to fail since it expected a BAD_VALUE response in that case.
diff --git a/services/camera/libcameraservice/Camera2Client.cpp b/services/camera/libcameraservice/Camera2Client.cpp
index 056271d..d3adbdc 100644
--- a/services/camera/libcameraservice/Camera2Client.cpp
+++ b/services/camera/libcameraservice/Camera2Client.cpp
@@ -1255,7 +1255,7 @@
             ANDROID_STATISTICS_FACE_DETECT_MODE_OFF) {
         ALOGE("%s: Camera %d: Face detection not supported",
                 __FUNCTION__, mCameraId);
-        return INVALID_OPERATION;
+        return BAD_VALUE;
     }
     if (l.mParameters.enableFaceDetect) return OK;
 
diff --git a/services/camera/libcameraservice/camera2/Parameters.cpp b/services/camera/libcameraservice/camera2/Parameters.cpp
index 859e2e9..d13fe8b 100644
--- a/services/camera/libcameraservice/camera2/Parameters.cpp
+++ b/services/camera/libcameraservice/camera2/Parameters.cpp
@@ -534,6 +534,8 @@
         if (!noSceneModes) {
             params.set(CameraParameters::KEY_SUPPORTED_SCENE_MODES,
                     supportedSceneModes);
+        } else {
+            params.remove(CameraParameters::KEY_SCENE_MODE);
         }
     }