Snap for 4376088 from 0a861d20121201316c006c7c2ca39b62a384af52 to oc-mr1-release

Change-Id: I52b8419792c2b120e91556fca9f54efb449c95ad
diff --git a/camera/include/HdrPlusTypes.h b/camera/include/HdrPlusTypes.h
index e6abb50..9f66ffb 100644
--- a/camera/include/HdrPlusTypes.h
+++ b/camera/include/HdrPlusTypes.h
@@ -261,34 +261,11 @@
     std::vector<float> availableFocalLengths; // android.lens.info.availableFocalLengths
     std::array<int32_t, 2> shadingMapSize; // android.lens.info.shadingMapSize
     uint8_t focusDistanceCalibration; // android.lens.info.focusDistanceCalibration
+    std::array<int32_t, 2> aeCompensationRange; // android.control.aeCompensationRange
+    float aeCompensationStep; // android.control.aeCompensationStep
 
     uint32_t debugParams; // Use HDRPLUS_DEBUG_PARAM_*
 
-    // Check if the contents of lhs and rhs are equal. For vector and array variables, two are
-    // equal if their elements are equal at the same position.
-    bool operator==(const StaticMetadata& rhs) const {
-        return flashInfoAvailable == rhs.flashInfoAvailable &&
-               sensitivityRange == rhs.sensitivityRange &&
-               maxAnalogSensitivity == rhs.maxAnalogSensitivity &&
-               pixelArraySize == rhs.pixelArraySize &&
-               activeArraySize == rhs.activeArraySize &&
-               opticalBlackRegions == rhs.opticalBlackRegions &&
-               availableStreamConfigurations == rhs.availableStreamConfigurations &&
-               referenceIlluminant1 == rhs.referenceIlluminant1 &&
-               referenceIlluminant2 == rhs.referenceIlluminant2 &&
-               calibrationTransform1 == rhs.calibrationTransform1 &&
-               calibrationTransform2 == rhs.calibrationTransform2 &&
-               colorTransform1 == rhs.colorTransform1 &&
-               colorTransform2 == rhs.colorTransform2 &&
-               whiteLevel == rhs.whiteLevel &&
-               colorFilterArrangement == rhs.colorFilterArrangement &&
-               availableApertures == rhs.availableApertures &&
-               availableFocalLengths == rhs.availableFocalLengths &&
-               shadingMapSize == rhs.shadingMapSize &&
-               focusDistanceCalibration == rhs.focusDistanceCalibration &&
-               debugParams == rhs.debugParams;
-    }
-
     // Convert this static metadata to a string and append it to the specified string.
     void appendToString(std::string *strOut) const {
         if (strOut == nullptr) return;
@@ -320,6 +297,10 @@
         metadatautils::appendVectorOrArrayToString(strOut, "shadingMapSize", shadingMapSize);
         metadatautils::appendValueToString(strOut, "focusDistanceCalibration",
                 focusDistanceCalibration);
+        metadatautils::appendVectorOrArrayToString(strOut, "aeCompensationRange",
+                aeCompensationRange);
+        metadatautils::appendValueToString(strOut, "aeCompensationStep",
+                aeCompensationStep);
         metadatautils::appendValueToString(strOut, "debugParams", debugParams);
     }
 };
@@ -353,31 +334,12 @@
     std::array<float, 4> dynamicBlackLevel; // android.sensor.dynamicBlackLevel
     std::vector<float> lensShadingMap; // android.statistics.lensShadingMap
     float focusDistance; // android.lens.focusDistance
-
-    // Check if the contents of lhs and rhs are equal. For vector and array variables, two are
-    // equal if their elements are equal at the same position.
-    bool operator==(const FrameMetadata& rhs) const {
-        return easelTimestamp == rhs.easelTimestamp &&
-               exposureTime == rhs.exposureTime &&
-               sensitivity == rhs.sensitivity &&
-               postRawSensitivityBoost == rhs.postRawSensitivityBoost &&
-               flashMode == rhs.flashMode &&
-               colorCorrectionGains == rhs.colorCorrectionGains &&
-               colorCorrectionTransform == rhs.colorCorrectionTransform &&
-               neutralColorPoint == rhs.neutralColorPoint &&
-               timestamp == rhs.timestamp &&
-               blackLevelLock == rhs.blackLevelLock &&
-               faceDetectMode == rhs.faceDetectMode &&
-               faceIds == rhs.faceIds &&
-               faceLandmarks == rhs.faceLandmarks &&
-               faceRectangles == rhs.faceRectangles &&
-               faceScores == rhs.faceScores &&
-               sceneFlicker == rhs.sceneFlicker &&
-               noiseProfile == rhs.noiseProfile &&
-               dynamicBlackLevel == rhs.dynamicBlackLevel &&
-               lensShadingMap == rhs.lensShadingMap &&
-               focusDistance == rhs.focusDistance;
-    }
+    int32_t aeExposureCompensation; // android.control.aeExposureCompensation
+    uint8_t aeMode; // android.control.aeMode
+    uint8_t aeLock; // android.control.aeLock
+    uint8_t aeState; // android.control.aeState
+    uint8_t aePrecaptureTrigger; // android.control.aePrecaptureTrigger
+    std::vector<std::array<int32_t, 5>> aeRegions; // android.control.aeRegions
 
     // Convert this static metadata to a string and append it to the specified string.
     void appendToString(std::string *strOut) const {
@@ -406,6 +368,12 @@
         metadatautils::appendVectorOrArrayToString(strOut, "dynamicBlackLevel", dynamicBlackLevel);
         metadatautils::appendVectorOrArrayToString(strOut, "lensShadingMap", lensShadingMap);
         metadatautils::appendValueToString(strOut, "focusDistance", focusDistance);
+        metadatautils::appendValueToString(strOut, "aeExposureCompensation", aeExposureCompensation);
+        metadatautils::appendValueToString(strOut, "aeMode", aeMode);
+        metadatautils::appendValueToString(strOut, "aeLock", aeLock);
+        metadatautils::appendValueToString(strOut, "aeState", aeState);
+        metadatautils::appendValueToString(strOut, "aePrecaptureTrigger", aePrecaptureTrigger);
+        metadatautils::appendVectorArrayToString(strOut, "aeRegions", aeRegions);
     }
 };
 
@@ -417,21 +385,16 @@
  */
 struct RequestMetadata {
     std::array<int32_t, 4> cropRegion; // android.scaler.cropRegion (x_min, y_min, width, height)
+    int32_t aeExposureCompensation; // android.control.aeExposureCompensation
+
     bool postviewEnable; // com.google.nexus.experimental2017.stats.postview_enable
     bool continuousCapturing; // Whether to capture RAW while HDR+ processing.
 
-    // Check if the contents of lhs and rhs are equal. For vector and array variables, two are
-    // equal if their elements are equal at the same position.
-    bool operator==(const RequestMetadata& rhs) const {
-        return cropRegion == rhs.cropRegion &&
-               postviewEnable == rhs.postviewEnable &&
-               continuousCapturing == rhs.continuousCapturing;
-    }
-
     // Convert this static metadata to a string and append it to the specified string.
     void appendToString(std::string *strOut) const {
         if (strOut == nullptr) return;
         metadatautils::appendVectorOrArrayToString(strOut, "cropRegion", cropRegion);
+        metadatautils::appendValueToString(strOut, "aeExposureCompensation", aeExposureCompensation);
         metadatautils::appendValueToString(strOut, "postviewEnable", postviewEnable);
         metadatautils::appendValueToString(strOut, "continuousCapturing", continuousCapturing);
     }
@@ -449,14 +412,6 @@
                        // frame.
     std::string makernote; // Obfuscated capture information.
 
-    // Check if the contents of lhs and rhs are equal. For vector and array variables, two are
-    // equal if their elements are equal at the same position.
-    bool operator==(const ResultMetadata& rhs) const {
-        return easelTimestamp == rhs.easelTimestamp &&
-               timestamp == rhs.timestamp &&
-               makernote == rhs.makernote;
-    }
-
     // Convert this static metadata to a string and append it to the specified string.
     void appendToString(std::string *strOut) const {
         if (strOut == nullptr) return;