Merge 024a6362237593eaf4af3bac23ebd4b3320a9d5f on remote branch

Change-Id: Ic3a040322960962138cc924708bc300178716593
diff --git a/camera/aon/aidl/Android.bp b/camera/aon/aidl/Android.bp
new file mode 100644
index 0000000..bdb115f
--- /dev/null
+++ b/camera/aon/aidl/Android.bp
@@ -0,0 +1,25 @@
+aidl_interface {
+    name: "vendor.qti.hardware.camera.aon",
+    vendor_available: true,
+    owner: "qti",
+    srcs: ["vendor/qti/hardware/camera/aon/*.aidl"],
+    stability: "vintf",
+    backend: {
+        cpp: {
+            enabled: false,
+        },
+        java: {
+            sdk_version: "module_current",
+            enabled: true,
+        },
+        ndk: {
+            enabled: true,
+        },
+    },
+    versions_with_info: [
+        {
+            version: "1",
+            imports: [],
+        },
+    ],
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/.hash b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/.hash
new file mode 100644
index 0000000..ff4c18f
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/.hash
@@ -0,0 +1 @@
+5497b93a8c1e52d04628e3b5f44635ec408428c1
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/AONCallbackEvent.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/AONCallbackEvent.aidl
new file mode 100644
index 0000000..5d4ed9d
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/AONCallbackEvent.aidl
@@ -0,0 +1,30 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable AONCallbackEvent {
+  vendor.qti.hardware.camera.aon.AONServiceType srvType;
+  vendor.qti.hardware.camera.aon.FDEvtInfo fdEvtInfo;
+  vendor.qti.hardware.camera.aon.FDProEvtInfo fdProEvtInfo;
+  vendor.qti.hardware.camera.aon.QREvtInfo qrEvtInfo;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/AONRegisterInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/AONRegisterInfo.aidl
new file mode 100644
index 0000000..90b73e6
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/AONRegisterInfo.aidl
@@ -0,0 +1,30 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable AONRegisterInfo {
+  int aonIdx;
+  vendor.qti.hardware.camera.aon.AONServiceType srvType;
+  vendor.qti.hardware.camera.aon.FDRegisterInfo fdRegInfo;
+  vendor.qti.hardware.camera.aon.QRRegisterInfo qrRegInfo;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/AONSensorCap.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/AONSensorCap.aidl
new file mode 100644
index 0000000..332db63
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/AONSensorCap.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable AONSensorCap {
+  vendor.qti.hardware.camera.aon.AONServiceType srvType;
+  vendor.qti.hardware.camera.aon.FDAlgoMode[] fdAlgoModes;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/AONSensorInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/AONSensorInfo.aidl
new file mode 100644
index 0000000..57abf9e
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/AONSensorInfo.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable AONSensorInfo {
+  vendor.qti.hardware.camera.aon.PositionType position;
+  vendor.qti.hardware.camera.aon.AONSensorCap[] sensorCaps;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/AONServiceType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/AONServiceType.aidl
new file mode 100644
index 0000000..8f73840
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/AONServiceType.aidl
@@ -0,0 +1,31 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum AONServiceType {
+  FaceDetect = 0,
+  FaceDetectPro = 1,
+  QRCode = 2,
+  VendorDefinedStart = 0x1000000,
+  VendorDefinedEnd,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/DeliveryMode.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/DeliveryMode.aidl
new file mode 100644
index 0000000..fb84704
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/DeliveryMode.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum DeliveryMode {
+  MotionBased = 0,
+  TimeBased = 1,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FDAlgoMode.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FDAlgoMode.aidl
new file mode 100644
index 0000000..1bc4829
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FDAlgoMode.aidl
@@ -0,0 +1,31 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FDAlgoMode {
+  int width;
+  int height;
+  boolean isIslandModeCapable;
+  vendor.qti.hardware.camera.aon.FDEngineType fdEngine;
+  int supportedFDEvtTypeMask;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FDEngineType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FDEngineType.aidl
new file mode 100644
index 0000000..9c240a9
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FDEngineType.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum FDEngineType {
+  EngineCADL = 0,
+  EngineENPU = 1,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FDEvtInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FDEvtInfo.aidl
new file mode 100644
index 0000000..654b563
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FDEvtInfo.aidl
@@ -0,0 +1,27 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FDEvtInfo {
+  int fdEvtTypeMask;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FDEvtType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FDEvtType.aidl
new file mode 100644
index 0000000..32c85b2
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FDEvtType.aidl
@@ -0,0 +1,30 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum FDEvtType {
+  FaceDetected = 1,
+  FaceNotDetected = 2,
+  GazeDetected = 4,
+  GazeNotDetected = 8,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FDProEvtInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FDProEvtInfo.aidl
new file mode 100644
index 0000000..a62fcd4
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FDProEvtInfo.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FDProEvtInfo {
+  int fdEvtTypeMask;
+  vendor.qti.hardware.camera.aon.FaceInfoPro faceInfo;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FDRegisterInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FDRegisterInfo.aidl
new file mode 100644
index 0000000..b7add05
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FDRegisterInfo.aidl
@@ -0,0 +1,31 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FDRegisterInfo {
+  int fdEvtTypeMask;
+  int fdAlgoModeIdx;
+  vendor.qti.hardware.camera.aon.DeliveryMode deliveryMode;
+  int deliveryPeriodMs;
+  int detectionPerDelivery;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FaceInfoPro.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FaceInfoPro.aidl
new file mode 100644
index 0000000..1b9d158
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FaceInfoPro.aidl
@@ -0,0 +1,29 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FaceInfoPro {
+  int frameDimWidth;
+  int frameDimHeight;
+  vendor.qti.hardware.camera.aon.FaceInfoProPerFace[] perFace;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl
new file mode 100644
index 0000000..30e1425
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl
@@ -0,0 +1,32 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FaceInfoProPerFace {
+  int angleRoll;
+  int angleYaw;
+  int width;
+  int height;
+  vendor.qti.hardware.camera.aon.FacePosType center;
+  boolean isGazeDetected;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FacePosType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FacePosType.aidl
new file mode 100644
index 0000000..2e75a12
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/FacePosType.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FacePosType {
+  int x;
+  int y;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/IAONService.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/IAONService.aidl
new file mode 100644
index 0000000..e6a5a29
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/IAONService.aidl
@@ -0,0 +1,29 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+interface IAONService {
+  vendor.qti.hardware.camera.aon.AONSensorInfo[] GetAONSensorInfoList();
+  long RegisterClient(in vendor.qti.hardware.camera.aon.IAONServiceCallback callback, in vendor.qti.hardware.camera.aon.AONRegisterInfo regInfo);
+  vendor.qti.hardware.camera.aon.Status UnregisterClient(in long clientHandle);
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/IAONServiceCallback.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/IAONServiceCallback.aidl
new file mode 100644
index 0000000..e6a74be
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/IAONServiceCallback.aidl
@@ -0,0 +1,27 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+interface IAONServiceCallback {
+  void NotifyAONCallbackEvent(in long clientHandle, in vendor.qti.hardware.camera.aon.AONCallbackEvent cbEvt);
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/PositionType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/PositionType.aidl
new file mode 100644
index 0000000..7bb83ef
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/PositionType.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum PositionType {
+  REAR = 0,
+  FRONT = 1,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/QREvtInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/QREvtInfo.aidl
new file mode 100644
index 0000000..f8d2435
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/QREvtInfo.aidl
@@ -0,0 +1,27 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable QREvtInfo {
+  int qrEvtTypeMask;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/QREvtType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/QREvtType.aidl
new file mode 100644
index 0000000..5c5b9dd
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/QREvtType.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum QREvtType {
+  QRCodeDetected = 1,
+  QRCodeNotDetected = 2,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/QRRegisterInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/QRRegisterInfo.aidl
new file mode 100644
index 0000000..fbf6de7
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/QRRegisterInfo.aidl
@@ -0,0 +1,30 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable QRRegisterInfo {
+  int qrEvtTypeMask;
+  vendor.qti.hardware.camera.aon.DeliveryMode deliveryMode;
+  int deliveryPeriodMs;
+  int detectionPerDelivery;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/Status.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/Status.aidl
new file mode 100644
index 0000000..2f795ed
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/1/vendor/qti/hardware/camera/aon/Status.aidl
@@ -0,0 +1,32 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum Status {
+  SUCCESS = 0,
+  FAILED = 1,
+  NOT_SUPPORTED = 2,
+  BAD_STATE = 3,
+  INVALID_CALLBACK_PTR = 4,
+  ABORT = 5,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/AONCallbackEvent.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/AONCallbackEvent.aidl
new file mode 100644
index 0000000..5d4ed9d
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/AONCallbackEvent.aidl
@@ -0,0 +1,30 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable AONCallbackEvent {
+  vendor.qti.hardware.camera.aon.AONServiceType srvType;
+  vendor.qti.hardware.camera.aon.FDEvtInfo fdEvtInfo;
+  vendor.qti.hardware.camera.aon.FDProEvtInfo fdProEvtInfo;
+  vendor.qti.hardware.camera.aon.QREvtInfo qrEvtInfo;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/AONRegisterInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/AONRegisterInfo.aidl
new file mode 100644
index 0000000..90b73e6
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/AONRegisterInfo.aidl
@@ -0,0 +1,30 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable AONRegisterInfo {
+  int aonIdx;
+  vendor.qti.hardware.camera.aon.AONServiceType srvType;
+  vendor.qti.hardware.camera.aon.FDRegisterInfo fdRegInfo;
+  vendor.qti.hardware.camera.aon.QRRegisterInfo qrRegInfo;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/AONSensorCap.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/AONSensorCap.aidl
new file mode 100644
index 0000000..332db63
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/AONSensorCap.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable AONSensorCap {
+  vendor.qti.hardware.camera.aon.AONServiceType srvType;
+  vendor.qti.hardware.camera.aon.FDAlgoMode[] fdAlgoModes;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/AONSensorInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/AONSensorInfo.aidl
new file mode 100644
index 0000000..57abf9e
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/AONSensorInfo.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable AONSensorInfo {
+  vendor.qti.hardware.camera.aon.PositionType position;
+  vendor.qti.hardware.camera.aon.AONSensorCap[] sensorCaps;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/AONServiceType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/AONServiceType.aidl
new file mode 100644
index 0000000..8f73840
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/AONServiceType.aidl
@@ -0,0 +1,31 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum AONServiceType {
+  FaceDetect = 0,
+  FaceDetectPro = 1,
+  QRCode = 2,
+  VendorDefinedStart = 0x1000000,
+  VendorDefinedEnd,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/DeliveryMode.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/DeliveryMode.aidl
new file mode 100644
index 0000000..fb84704
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/DeliveryMode.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum DeliveryMode {
+  MotionBased = 0,
+  TimeBased = 1,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDAlgoMode.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDAlgoMode.aidl
new file mode 100644
index 0000000..1bc4829
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDAlgoMode.aidl
@@ -0,0 +1,31 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FDAlgoMode {
+  int width;
+  int height;
+  boolean isIslandModeCapable;
+  vendor.qti.hardware.camera.aon.FDEngineType fdEngine;
+  int supportedFDEvtTypeMask;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDEngineType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDEngineType.aidl
new file mode 100644
index 0000000..9c240a9
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDEngineType.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum FDEngineType {
+  EngineCADL = 0,
+  EngineENPU = 1,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDEvtInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDEvtInfo.aidl
new file mode 100644
index 0000000..654b563
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDEvtInfo.aidl
@@ -0,0 +1,27 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FDEvtInfo {
+  int fdEvtTypeMask;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDEvtType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDEvtType.aidl
new file mode 100644
index 0000000..32c85b2
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDEvtType.aidl
@@ -0,0 +1,30 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum FDEvtType {
+  FaceDetected = 1,
+  FaceNotDetected = 2,
+  GazeDetected = 4,
+  GazeNotDetected = 8,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDProEvtInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDProEvtInfo.aidl
new file mode 100644
index 0000000..a62fcd4
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDProEvtInfo.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FDProEvtInfo {
+  int fdEvtTypeMask;
+  vendor.qti.hardware.camera.aon.FaceInfoPro faceInfo;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDRegisterInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDRegisterInfo.aidl
new file mode 100644
index 0000000..b7add05
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDRegisterInfo.aidl
@@ -0,0 +1,31 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FDRegisterInfo {
+  int fdEvtTypeMask;
+  int fdAlgoModeIdx;
+  vendor.qti.hardware.camera.aon.DeliveryMode deliveryMode;
+  int deliveryPeriodMs;
+  int detectionPerDelivery;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FaceInfoPro.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FaceInfoPro.aidl
new file mode 100644
index 0000000..1b9d158
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FaceInfoPro.aidl
@@ -0,0 +1,29 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FaceInfoPro {
+  int frameDimWidth;
+  int frameDimHeight;
+  vendor.qti.hardware.camera.aon.FaceInfoProPerFace[] perFace;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl
new file mode 100644
index 0000000..30e1425
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl
@@ -0,0 +1,32 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FaceInfoProPerFace {
+  int angleRoll;
+  int angleYaw;
+  int width;
+  int height;
+  vendor.qti.hardware.camera.aon.FacePosType center;
+  boolean isGazeDetected;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FacePosType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FacePosType.aidl
new file mode 100644
index 0000000..2e75a12
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FacePosType.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FacePosType {
+  int x;
+  int y;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/IAONService.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/IAONService.aidl
new file mode 100644
index 0000000..e6a5a29
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/IAONService.aidl
@@ -0,0 +1,29 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+interface IAONService {
+  vendor.qti.hardware.camera.aon.AONSensorInfo[] GetAONSensorInfoList();
+  long RegisterClient(in vendor.qti.hardware.camera.aon.IAONServiceCallback callback, in vendor.qti.hardware.camera.aon.AONRegisterInfo regInfo);
+  vendor.qti.hardware.camera.aon.Status UnregisterClient(in long clientHandle);
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/IAONServiceCallback.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/IAONServiceCallback.aidl
new file mode 100644
index 0000000..e6a74be
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/IAONServiceCallback.aidl
@@ -0,0 +1,27 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+interface IAONServiceCallback {
+  void NotifyAONCallbackEvent(in long clientHandle, in vendor.qti.hardware.camera.aon.AONCallbackEvent cbEvt);
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/PositionType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/PositionType.aidl
new file mode 100644
index 0000000..7bb83ef
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/PositionType.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum PositionType {
+  REAR = 0,
+  FRONT = 1,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QREvtInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QREvtInfo.aidl
new file mode 100644
index 0000000..f8d2435
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QREvtInfo.aidl
@@ -0,0 +1,27 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable QREvtInfo {
+  int qrEvtTypeMask;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QREvtType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QREvtType.aidl
new file mode 100644
index 0000000..5c5b9dd
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QREvtType.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum QREvtType {
+  QRCodeDetected = 1,
+  QRCodeNotDetected = 2,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QRRegisterInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QRRegisterInfo.aidl
new file mode 100644
index 0000000..fbf6de7
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QRRegisterInfo.aidl
@@ -0,0 +1,30 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable QRRegisterInfo {
+  int qrEvtTypeMask;
+  vendor.qti.hardware.camera.aon.DeliveryMode deliveryMode;
+  int deliveryPeriodMs;
+  int detectionPerDelivery;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/Status.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/Status.aidl
new file mode 100644
index 0000000..2f795ed
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/Status.aidl
@@ -0,0 +1,32 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum Status {
+  SUCCESS = 0,
+  FAILED = 1,
+  NOT_SUPPORTED = 2,
+  BAD_STATE = 3,
+  INVALID_CALLBACK_PTR = 4,
+  ABORT = 5,
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/AONCallbackEvent.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/AONCallbackEvent.aidl
new file mode 100644
index 0000000..83c57ed
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/AONCallbackEvent.aidl
@@ -0,0 +1,40 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+import vendor.qti.hardware.camera.aon.AONServiceType;
+import vendor.qti.hardware.camera.aon.FDEvtInfo;
+import vendor.qti.hardware.camera.aon.FDProEvtInfo;
+import vendor.qti.hardware.camera.aon.QREvtInfo;
+
+/**
+ * The event callback from AON service to client
+ */
+@VintfStability
+parcelable AONCallbackEvent {
+    /**
+     * Service type of the callback event.
+     */
+    AONServiceType srvType;
+
+    /**
+     * The event information for FaceDetect.
+     * Only applicable when srvType is FaceDetect.
+     */
+    FDEvtInfo fdEvtInfo;
+
+    /**
+     * The event information for FaceDetectPro.
+     * Only applicable when srvType is FaceDetectPro.
+     */
+    FDProEvtInfo fdProEvtInfo;
+
+    /**
+     * The event information for QRCode.
+     * Only applicable when srvType is QRCode.
+     */
+    QREvtInfo qrEvtInfo;
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/AONRegisterInfo.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/AONRegisterInfo.aidl
new file mode 100644
index 0000000..12b0cb9
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/AONRegisterInfo.aidl
@@ -0,0 +1,40 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+import vendor.qti.hardware.camera.aon.AONServiceType;
+import vendor.qti.hardware.camera.aon.FDRegisterInfo;
+import vendor.qti.hardware.camera.aon.QRRegisterInfo;
+
+/**
+ * The register information filled by client
+ */
+@VintfStability
+parcelable AONRegisterInfo {
+    /**
+     * Index of to the sensorInfoList returned in GetAONSensorInfoList
+     * Indicate which aon sensor the client would like to register
+     */
+    int aonIdx;
+
+    /**
+     * Indicate which AONServiceType the client would like to register after knowing
+     * the capability of each AON sensor by parsing the AONSensorCap in sensorInfoList
+     */
+    AONServiceType srvType;
+
+    /**
+     * The FD register information filled by client.
+     * Only applicable when service type is FaceDetect or FaceDetectPro
+     */
+    FDRegisterInfo fdRegInfo;
+
+    /**
+     * The QRCode register information filled by client.
+     * Only applicable when service type is QRCode
+     */
+    QRRegisterInfo qrRegInfo;
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/AONSensorCap.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/AONSensorCap.aidl
new file mode 100644
index 0000000..90fdec1
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/AONSensorCap.aidl
@@ -0,0 +1,25 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+import vendor.qti.hardware.camera.aon.AONServiceType;
+import vendor.qti.hardware.camera.aon.FDAlgoMode;
+
+/**
+ * The AONServiceType and corresponding algo mode list supported by AON sensor
+ */
+@VintfStability
+parcelable AONSensorCap {
+    /**
+     * Supported AONServiceType by AON sensor
+     */
+    AONServiceType srvType;
+
+    /**
+     * The supported fdAlgoMode list. Only applicable when srvType is FaceDetect or FaceDetectPro
+     */
+    FDAlgoMode[] fdAlgoModes;
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/AONSensorInfo.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/AONSensorInfo.aidl
new file mode 100644
index 0000000..633e5b8
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/AONSensorInfo.aidl
@@ -0,0 +1,24 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+import vendor.qti.hardware.camera.aon.AONSensorCap;
+import vendor.qti.hardware.camera.aon.PositionType;
+
+/**
+ * The information of an AON sensor
+ */
+@VintfStability
+parcelable AONSensorInfo {
+    /**
+     * Position type of AON sensor
+     */
+    PositionType position;
+    /**
+     * List of supported AONServiceType by AON sensor
+     */
+    AONSensorCap[] sensorCaps;
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/AONServiceType.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/AONServiceType.aidl
new file mode 100644
index 0000000..7db15ef
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/AONServiceType.aidl
@@ -0,0 +1,38 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+@VintfStability
+@Backing(type="int")
+enum AONServiceType {
+    /**
+     * Face Detect
+     */
+    FaceDetect = 0,
+
+    /**
+     * Face Detect Pro
+     */
+    FaceDetectPro = 1,
+
+    /**
+     * QR Code Detect
+     */
+    QRCode = 2,
+
+    /**
+     * Vendor defined events start
+     */
+    VendorDefinedStart = 0x1000000,
+
+    /**
+     * Add vendor defined events here
+     *
+     *
+     * Vendor defined event End
+     */
+    VendorDefinedEnd,
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/DeliveryMode.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/DeliveryMode.aidl
new file mode 100644
index 0000000..07ba35c
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/DeliveryMode.aidl
@@ -0,0 +1,23 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+/**
+ * The delivery mode of event detection
+ */
+@VintfStability
+@Backing(type="int")
+enum DeliveryMode {
+    /**
+     * Detection is triggered to run based on motion detected by sensor.
+     */
+    MotionBased = 0,
+    /**
+     * Detection is triggered to run periodically according to
+     * the value of deliveryPeriodMs set by client during RegisterClient.
+     */
+    TimeBased = 1,
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDAlgoMode.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDAlgoMode.aidl
new file mode 100644
index 0000000..98c733f
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDAlgoMode.aidl
@@ -0,0 +1,37 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+import vendor.qti.hardware.camera.aon.FDEngineType;
+
+/**
+ * The information of the FD algorithm mode
+ */
+@VintfStability
+parcelable FDAlgoMode {
+    /**
+     * Image resolution used for algo processing in this algo mode.
+     */
+    int width;
+    /**
+     * Image resolution used for algo processing in this algo mode.
+     */
+    int height;
+    /**
+     * Indiates whether this FD algo mode is island-capable.
+     */
+    boolean isIslandModeCapable;
+    /**
+     * Indicates what the supporting engine is.
+     */
+    FDEngineType fdEngine;
+    /**
+     * A bit-mask indicating which FDEvtType are supported
+     * in this FDAlgoMode. If both FaceDetected & GazeDetected are
+     * supported, the supportedFDEvtTypeMask will be 0x5(0x1|0x4)
+     */
+    int supportedFDEvtTypeMask;
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDEngineType.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDEngineType.aidl
new file mode 100644
index 0000000..7127a17
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDEngineType.aidl
@@ -0,0 +1,22 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+/**
+ * The underlying engine type of the algorithm
+ */
+@VintfStability
+@Backing(type="int")
+enum FDEngineType {
+    /**
+     * CADL engine (Lower power, lower memory usage engine).
+     */
+    EngineCADL = 0,
+    /**
+     * eNPU engine (Higher power, higher memory usage engine).
+     */
+    EngineENPU = 1,
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDEvtInfo.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDEvtInfo.aidl
new file mode 100644
index 0000000..2908f74
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDEvtInfo.aidl
@@ -0,0 +1,19 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+/**
+ * The event information for FaceDetect AONServiceType
+ */
+@VintfStability
+parcelable FDEvtInfo {
+    /**
+     * Bit Mask to indicate the FDEvtTypes of this event.
+     * If fdEvtTypeMask is 0x5(0x1|0x4), that means both
+     * face & gaze are detected by AONService
+     */
+    int fdEvtTypeMask;
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDEvtType.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDEvtType.aidl
new file mode 100644
index 0000000..5e4f698
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDEvtType.aidl
@@ -0,0 +1,32 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+/**
+ * The event type supported by FaceDetect and FaceDetectPro.
+ * These are bit values for client to assign to the fdEvtTypeMask in FDRegisterInfo during RegisterClient
+ * and to check the fdEvtTypeMask in FDEvtInfo when receiving the AONCallbackEvent.
+ */
+@VintfStability
+@Backing(type="int")
+enum FDEvtType {
+    /**
+     * This indicates that face detection was performed and a face is detected.
+     */
+    FaceDetected = 1,
+    /**
+     * This indicates that face detection was performed and a face is not detected.
+     */
+    FaceNotDetected = 2,
+    /**
+     * This indicates that face detection was performed and an eye gaze is detected.
+     */
+    GazeDetected = 4,
+    /**
+     * This indicates that face detection was performed and an eye gaze is not detected.
+     */
+    GazeNotDetected = 8,
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDProEvtInfo.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDProEvtInfo.aidl
new file mode 100644
index 0000000..8ef55cc
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDProEvtInfo.aidl
@@ -0,0 +1,27 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+import vendor.qti.hardware.camera.aon.FaceInfoPro;
+
+/**
+ * The event information for FaceDetectPro AONServiceType
+ */
+@VintfStability
+parcelable FDProEvtInfo {
+    /**
+     * Bit Mask to indicate the FDEvtTypes of this event.
+     * If fdEvtTypeMask is 0x5(0x1|0x4), that means both
+     * face & gaze are detected by AONService
+     */
+    int fdEvtTypeMask;
+    /**
+     * Face information of detected faces or gazes.
+     * Only applicable when the BIT of FaceDetected or GazeDetected
+     * in fdEvtTypeMask is being set by AONService.
+     */
+    FaceInfoPro faceInfo;
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDRegisterInfo.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDRegisterInfo.aidl
new file mode 100644
index 0000000..21eec9e
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDRegisterInfo.aidl
@@ -0,0 +1,51 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+
+package vendor.qti.hardware.camera.aon;
+
+import vendor.qti.hardware.camera.aon.DeliveryMode;
+
+/**
+ * The FD register information filled by client.
+ * Only applicable when service type is FaceDetect or FaceDetectPro
+ */
+@VintfStability
+parcelable FDRegisterInfo {
+    /**
+     * Indicate which FDEvtType the client is interested in.
+     * If client need both FaceDetected & GazeDetected,
+     * the fdEvtTypeMask should be assigned as 0x5(0x1|0x4)
+     */
+    int fdEvtTypeMask;
+    /**
+     * Index to the algoModes described in AONSensorCap which returned in GetAONSensorInfoList
+     */
+    int fdAlgoModeIdx;
+    /**
+     * To configure the delivery mode of the detection callback event
+     * Since one AON sensor can only be configured one delivery mode at a time,
+     * AON service will take the value of the latest registered client as the final configuration.
+     */
+    DeliveryMode deliveryMode;
+    /**
+     * Period in ms of detection callback event.
+     * The value should be positive and only applicable when delivery mode is TimeBased.
+     * Since one AON sensor can only be configured one delivery mode at a time,
+     * AON service will take the value of the latest registered client as the final configuration.
+     */
+    int deliveryPeriodMs;
+    /**
+     * Number of times detections are performed per delivery
+     * Applicable for both deliveryMode - MotionBased & TimeBased
+     * If deliveryMode is MotionBased:
+     * This is the number of detections that will be performed each
+     * time a motion is detected.
+     * If deliveryMode is TimeBased:
+     * At the specified delivery periodicity, detection will be
+     * performed consecutively at the native streaming rate of the image sensor.
+     */
+    int detectionPerDelivery;
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/FaceInfoPro.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FaceInfoPro.aidl
new file mode 100644
index 0000000..169e463
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FaceInfoPro.aidl
@@ -0,0 +1,29 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+import vendor.qti.hardware.camera.aon.FaceInfoProPerFace;
+
+/**
+ * The information passed from the event of FaceDetectPro service type
+ */
+@VintfStability
+parcelable FaceInfoPro {
+    /**
+     * Width of the frame dimension where the reported face ROI/Parts Coordinates will be based on
+     */
+    int frameDimWidth;
+
+    /**
+     * Height of the frame dimension where the reported face ROI/Parts Coordinates will be based on
+     */
+    int frameDimHeight;
+
+    /**
+     * A vector of the per face information
+     */
+    FaceInfoProPerFace[] perFace;
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl
new file mode 100644
index 0000000..63678a4
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl
@@ -0,0 +1,45 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+import vendor.qti.hardware.camera.aon.FacePosType;
+
+/**
+ * The information per face passed from the event of FaceDetectPro service type
+ */
+@VintfStability
+parcelable FaceInfoProPerFace {
+    /**
+     * Indicates the roll (or rotate) angle of the face
+     * Valid values: -180 through 179, where a positive value means the face is
+     * rotated clockwise in-plane
+     */
+    int angleRoll;
+    /**
+     * Indicates the left/right direction of the face
+     * Valid values: -180 through 179, where a positive value means the face is
+     * facing right
+     */
+    int angleYaw;
+    /**
+     * Width of the face in the frame
+     */
+    int width;
+    /**
+     * height of the face in the frame
+     */
+    int height;
+    /**
+     * Position of the center of the face in the frame
+     */
+    FacePosType center;
+    /**
+     * Whether an eye gaze is detected
+     * Only applicable when the bit of GazeDetected or GazeNotDetected
+     * is set to 1 by client in RegisterClient.
+     */
+    boolean isGazeDetected;
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/FacePosType.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FacePosType.aidl
new file mode 100644
index 0000000..64b67a8
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FacePosType.aidl
@@ -0,0 +1,27 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+/**
+ * The information passed from the event of FaceDetectPro service type
+ */
+@VintfStability
+parcelable FacePosType {
+    /**
+     * X coordinate of a position
+     * It is relative to the frame dimension width (exposed in FaceInfoPro)
+     * It can be negative (e.g. a facial part can be estimated to be outside of the
+     * frame boundary)
+     */
+    int x;
+    /**
+     * Y coordinate of a position
+     * It is relative to the frame dimension height (exposed in FaceInfoPro)
+     * It can be negative (e.g. a facial part can be estimated to be outside of the
+     * frame boundary)
+     */
+    int y;
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/IAONService.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/IAONService.aidl
new file mode 100644
index 0000000..08f1598
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/IAONService.aidl
@@ -0,0 +1,42 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+import vendor.qti.hardware.camera.aon.AONRegisterInfo;
+import vendor.qti.hardware.camera.aon.AONSensorInfo;
+import vendor.qti.hardware.camera.aon.AONServiceType;
+import vendor.qti.hardware.camera.aon.IAONServiceCallback;
+import vendor.qti.hardware.camera.aon.Status;
+
+@VintfStability
+interface IAONService {
+    /**
+     * Get a list of AONSensorInfo which describes supported AON sensors and corresponding capability information.
+     *
+     * @return   An output list of AONSensorInfo
+     */
+    AONSensorInfo[] GetAONSensorInfoList();
+
+    /**
+     * Register to an AON sensor for a specific AONServiceType
+     *
+     * @param  callback            Object passed by AIDL client which has callback function that got called for AON events
+     * @param  regInfo             Register information filled by client
+     *
+     * @return clientHandle        AON Service return a valid client handle upon success return NULL in case of failure
+     */
+    long RegisterClient(in IAONServiceCallback callback, in AONRegisterInfo regInfo);
+
+    /**
+     * Unregisters for AON service events.
+     *
+     * @param   clientHandle       Valid client handle assigned during registerClient API
+     *                             This client handle will be no longer valid after return
+     * @return  status             Returns status defined in enum Status. Returns Status::SUCCESS in case of success
+     *
+     */
+    Status UnregisterClient(in long clientHandle);
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/IAONServiceCallback.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/IAONServiceCallback.aidl
new file mode 100644
index 0000000..706eedd
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/IAONServiceCallback.aidl
@@ -0,0 +1,18 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+import vendor.qti.hardware.camera.aon.AONCallbackEvent;
+
+/**
+ * AON Service callback interface.
+ * This callback will be invoked when any client registers for AON Service
+ * and specific AON event triggered by hardware/lower layers
+ */
+@VintfStability
+interface IAONServiceCallback {
+    void NotifyAONCallbackEvent(in long clientHandle, in AONCallbackEvent cbEvt);
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/PositionType.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/PositionType.aidl
new file mode 100644
index 0000000..9abe095
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/PositionType.aidl
@@ -0,0 +1,22 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+/**
+ * Position type of an AON sensor.
+ */
+@VintfStability
+@Backing(type="int")
+enum PositionType {
+    /**
+     * Rear main camera.
+     */
+    REAR = 0,
+    /**
+     * Front main camera.
+     */
+    FRONT = 1,
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/QREvtInfo.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/QREvtInfo.aidl
new file mode 100644
index 0000000..e76bd8b
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/QREvtInfo.aidl
@@ -0,0 +1,17 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+/**
+ * The event information for QRCode AONServiceType
+ */
+@VintfStability
+parcelable QREvtInfo {
+    /**
+     * Bit Mask to indicate the QREvtTypes of this event.
+     */
+    int qrEvtTypeMask;
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/QREvtType.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/QREvtType.aidl
new file mode 100644
index 0000000..232e5e3
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/QREvtType.aidl
@@ -0,0 +1,25 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+/**
+ * The event type supported by QRCode.
+ * These are bit values for client to assign to the qrEvtTypeMask in QRRegisterInfo during RegisterClient
+ * and to check the qrEvtTypeMask in QREvtInfo when receiving the AONCallbackEvent.
+ */
+@VintfStability
+@Backing(type="int")
+enum QREvtType {
+    /**
+     * This indicates that QRCode detection was performed and a QRCode is detected.
+     */
+    QRCodeDetected = 1,
+
+    /**
+     * This indicates that QRCode detection was performed and a QRCode is not detected.
+     */
+    QRCodeNotDetected = 2,
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/QRRegisterInfo.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/QRRegisterInfo.aidl
new file mode 100644
index 0000000..9e3797b
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/QRRegisterInfo.aidl
@@ -0,0 +1,49 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+import vendor.qti.hardware.camera.aon.DeliveryMode;
+
+/**
+ * The QRCode register information filled by client.
+ * Only applicable when service type is QRCode
+ */
+@VintfStability
+parcelable QRRegisterInfo {
+    /**
+     * Indicate which QREvtType  the client is interested in.
+     * If client need both QRCodeDetected & QRCodeNotDetected,
+     * the qrEvtTypeMask should be assigned as 0x3(0x1|0x2)
+     */
+    int qrEvtTypeMask;
+
+    /**
+     * To configure the delivery mode of the detection callback event
+     * Since one AON sensor can only be configured one delivery mode at a time,
+     * AON service will take the value of the latest registered client as the final configuration.
+     */
+    DeliveryMode deliveryMode;
+
+    /**
+     * Period in ms of detection callback event.
+     * The value should be positive and only applicable when delivery mode is TimeBased.
+     * Since one AON sensor can only be configured one delivery mode at a time,
+     * AON service will take the value of the latest registered client as the final configuration.
+     */
+    int deliveryPeriodMs;
+
+    /**
+     * Number of times detections are performed per delivery
+     * Applicable for both deliveryMode - MotionBased & TimeBased
+     * If deliveryMode is MotionBased:
+     * This is the number of detections that will be performed each
+     * time a motion is detected.
+     * If deliveryMode is TimeBased:
+     * At the specified delivery periodicity, detection will be
+     * performed consecutively at the native streaming rate of the image sensor.
+     */
+    int detectionPerDelivery;
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/Status.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/Status.aidl
new file mode 100644
index 0000000..e4d18f6
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/Status.aidl
@@ -0,0 +1,43 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+/**
+ * Status codes returned directly by the AIDL method calls upon errors
+ */
+@VintfStability
+@Backing(type="int")
+enum Status {
+    /**
+     * Success
+     */
+    SUCCESS = 0,
+
+    /**
+     * Generic failure status
+     */
+    FAILED = 1,
+
+    /**
+     * NOT_SUPPORTED
+     */
+    NOT_SUPPORTED = 2,
+
+    /**
+     * Bad State
+     */
+    BAD_STATE = 3,
+
+    /**
+     * CB Pointer is invalid
+     */
+    INVALID_CALLBACK_PTR = 4,
+
+    /**
+     * AON Service Aborted
+     */
+    ABORT = 5,
+}