Camera3: Report the value of AF trigger

Report the AF trigger status control ANDROID_CONTROL_AF_TRIGGER
to metadata.

Bug: 14059883
Change-Id: I42606554cebbe195dcf2a2029e3b635a349e5f5d
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.cpp b/camera/QCamera2/HAL3/QCamera3HWI.cpp
index 0064b09..8bb7cfe 100644
--- a/camera/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/camera/QCamera2/HAL3/QCamera3HWI.cpp
@@ -2018,6 +2018,7 @@
          case CAM_INTF_META_AWB_STATE:
          case CAM_INTF_PARM_AWB_LOCK:
          case CAM_INTF_META_PRECAPTURE_TRIGGER:
+         case CAM_INTF_META_AF_TRIGGER_NOTICE:
          case CAM_INTF_META_MODE: {
            ALOGV("%s: 3A metadata: %d, do not process", __func__, curr_entry);
            break;
@@ -2557,6 +2558,14 @@
                 __func__);
             break;
         }
+        case CAM_INTF_META_AF_TRIGGER_NOTICE: {
+            uint8_t *af_trigger =
+              (uint8_t *)POINTER_OF(CAM_INTF_META_AF_TRIGGER_NOTICE, metadata);
+            camMetadata.update(ANDROID_CONTROL_AF_TRIGGER,
+                af_trigger, 1);
+            ALOGV("%s: urgent Metadata : ANDROID_CONTROL_AF_TRIGGER = %d",
+                __func__, *af_trigger);
+        }
         default:
             ALOGV("%s: Normal Metadata %d, do not process",
               __func__, curr_entry);
diff --git a/camera/QCamera2/stack/common/cam_intf.h b/camera/QCamera2/stack/common/cam_intf.h
index 78728d8..b7f9dda 100644
--- a/camera/QCamera2/stack/common/cam_intf.h
+++ b/camera/QCamera2/stack/common/cam_intf.h
@@ -458,6 +458,7 @@
     /* HAL3 external control */
     INCLUDE(CAM_INTF_PARM_BESTSHOT_MODE,                uint8_t,                     1);
     INCLUDE(CAM_INTF_META_PRECAPTURE_TRIGGER,           uint8_t,                     1);
+    INCLUDE(CAM_INTF_META_AF_TRIGGER_NOTICE,            uint8_t,                     1);
     INCLUDE(CAM_INTF_PARM_REDEYE_REDUCTION,             int32_t,                     1);
     INCLUDE(CAM_INTF_PARM_EV,                       	int32_t,                     1);
     INCLUDE(CAM_INTF_PARM_EV_STEP,                  	cam_rational_type_t,         1);
diff --git a/camera/QCamera2/stack/common/cam_types.h b/camera/QCamera2/stack/common/cam_types.h
index 84bccde..c6618ec 100644
--- a/camera/QCamera2/stack/common/cam_types.h
+++ b/camera/QCamera2/stack/common/cam_types.h
@@ -967,10 +967,13 @@
     CAM_INTF_META_AF_ROI,
     /* Whether the HAL must trigger autofocus. */
     CAM_INTF_META_AF_TRIGGER,
-    /* Current state of AF algorithm */
-    CAM_INTF_META_AF_STATE,
     /* The ID sent with the latest CAMERA2_TRIGGER_AUTOFOCUS call */
     CAM_INTF_META_AF_TRIGGER_ID,
+    /* Use to report back AF trigger value, trigger is requested using
+     * CAM_INTF_META_AF_TRIGGER and CAM_INTF_META_AF_TRIGGER_ID */
+    CAM_INTF_META_AF_TRIGGER_NOTICE,
+    /* Current state of AF algorithm */
+    CAM_INTF_META_AF_STATE,
     /* List of areas to use for illuminant estimation */
     CAM_INTF_META_AWB_REGIONS,
     /* Current state of AWB algorithm */