Camera: Add metrics for zoom override usage

Test: Verify locally that zoom override usage is detected correctly
Bug: 307409002
Change-Id: I0c1783e278ea7ead1df48ae59ec846d6640c0feb
diff --git a/camera/CameraSessionStats.cpp b/camera/CameraSessionStats.cpp
index f0630dd..057ec99 100644
--- a/camera/CameraSessionStats.cpp
+++ b/camera/CameraSessionStats.cpp
@@ -421,6 +421,12 @@
         return err;
     }
 
+    bool usedZoomOverride = false;
+    if ((err = parcel->readBool(&usedZoomOverride)) != OK) {
+        ALOGE("%s: Failed to read zoom override usage from parcel", __FUNCTION__);
+        return err;
+    }
+
     int32_t sessionIdx;
     if ((err = parcel->readInt32(&sessionIdx)) != OK) {
         ALOGE("%s: Failed to read session index from parcel", __FUNCTION__);
@@ -451,6 +457,7 @@
     mUserTag = toStdString(userTag);
     mVideoStabilizationMode = videoStabilizationMode;
     mUsedUltraWide = usedUltraWide;
+    mUsedZoomOverride = usedZoomOverride;
     mSessionIndex = sessionIdx;
     mCameraExtensionSessionStats = extStats;
 
@@ -549,11 +556,17 @@
         ALOGE("%s: Failed to write video stabilization mode!", __FUNCTION__);
         return err;
     }
+
     if ((err = parcel->writeBool(mUsedUltraWide)) != OK) {
         ALOGE("%s: Failed to write ultrawide usage!", __FUNCTION__);
         return err;
     }
 
+    if ((err = parcel->writeBool(mUsedZoomOverride)) != OK) {
+        ALOGE("%s: Failed to write zoom override usage!", __FUNCTION__);
+        return err;
+    }
+
     if ((err = parcel->writeInt32(mSessionIndex)) != OK) {
         ALOGE("%s: Failed to write session index!", __FUNCTION__);
         return err;
diff --git a/camera/camera_platform.aconfig b/camera/camera_platform.aconfig
index 33eb592..2ba2a83 100644
--- a/camera/camera_platform.aconfig
+++ b/camera/camera_platform.aconfig
@@ -27,3 +27,10 @@
      description: "Use waitForService instead of getService with lazy AIDL HALs"
      bug: "285546208"
 }
+
+flag {
+     namespace: "camera_platform"
+     name: "log_zoom_override_usage"
+     description: "Enable measuring how much usage there is for zoom settings overrde"
+     bug: "307409002"
+}
diff --git a/camera/include/camera/CameraSessionStats.h b/camera/include/camera/CameraSessionStats.h
index 158ac2a..06c154d 100644
--- a/camera/include/camera/CameraSessionStats.h
+++ b/camera/include/camera/CameraSessionStats.h
@@ -162,6 +162,7 @@
     std::string mUserTag;
     int mVideoStabilizationMode;
     bool mUsedUltraWide;
+    bool mUsedZoomOverride;
     int mSessionIndex;
 
     CameraExtensionSessionStats mCameraExtensionSessionStats;