Merge changes Ibe5c08d5,I559f1281,I6f0f44fa into jb-mr1-dev

* changes:
  Camera2: Don't be bothered by lack of faces.
  Camera2: Filter out faces with 0 confidence.
  Camera2: Change face detect/scene mode priority.
diff --git a/services/camera/libcameraservice/camera2/FrameProcessor.cpp b/services/camera/libcameraservice/camera2/FrameProcessor.cpp
index e24db0b..a7d19aa 100644
--- a/services/camera/libcameraservice/camera2/FrameProcessor.cpp
+++ b/services/camera/libcameraservice/camera2/FrameProcessor.cpp
@@ -174,8 +174,7 @@
         SharedParameters::Lock l(client->getParameters());
         entry = frame.find(ANDROID_STATS_FACE_RECTANGLES);
         if (entry.count == 0) {
-            ALOGE("%s: Camera %d: Unable to read face rectangles",
-                    __FUNCTION__, client->getCameraId());
+            // No faces this frame
             return res;
         }
         metadata.number_of_faces = entry.count / 4;
@@ -220,7 +219,13 @@
 
         faces.setCapacity(metadata.number_of_faces);
 
-        for (int i = 0; i < metadata.number_of_faces; i++) {
+        size_t maxFaces = metadata.number_of_faces;
+        for (size_t i = 0; i < maxFaces; i++) {
+            if (faceScores[i] == 0) {
+                metadata.number_of_faces--;
+                continue;
+            }
+
             camera_face_t face;
 
             face.rect[0] = l.mParameters.arrayXToNormalized(faceRects[i*4 + 0]);
diff --git a/services/camera/libcameraservice/camera2/Parameters.cpp b/services/camera/libcameraservice/camera2/Parameters.cpp
index c07a6ac..c6d7747 100644
--- a/services/camera/libcameraservice/camera2/Parameters.cpp
+++ b/services/camera/libcameraservice/camera2/Parameters.cpp
@@ -1380,8 +1380,11 @@
             &reqControlMode, 1);
     if (res != OK) return res;
 
-    uint8_t reqSceneMode = enableFaceDetect ?
-            (uint8_t)ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY : sceneMode;
+    uint8_t reqSceneMode =
+            (sceneMode !=
+                    (uint8_t)ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED) ? sceneMode :
+            enableFaceDetect ? (uint8_t)ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY :
+            (uint8_t)ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED;
     res = request->update(ANDROID_CONTROL_SCENE_MODE,
             &reqSceneMode, 1);
     if (res != OK) return res;