Merge a2e80b59e42affd4f4cc2f87ece40527de938f75 on remote branch

Change-Id: I7afb376c466562225b8a25f53e411d074fa6f3ec
diff --git a/display/composer/3.2/Android.bp b/display/composer/3.2/Android.bp
new file mode 100644
index 0000000..0446fb4
--- /dev/null
+++ b/display/composer/3.2/Android.bp
@@ -0,0 +1,24 @@
+// This file is autogenerated by hidl-gen -Landroidbp.
+
+hidl_interface {
+    name: "vendor.qti.hardware.display.composer@3.2",
+    root: "vendor.qti.hardware.display",
+    system_ext_specific: true,
+    srcs: [
+        "IQtiComposer.hal",
+        "IQtiComposerClient.hal",
+    ],
+    interfaces: [
+        "android.hardware.graphics.common@1.0",
+        "android.hardware.graphics.common@1.1",
+        "android.hardware.graphics.common@1.2",
+        "android.hardware.graphics.composer@2.1",
+        "android.hardware.graphics.composer@2.2",
+        "android.hardware.graphics.composer@2.3",
+        "android.hardware.graphics.composer@2.4",
+        "vendor.qti.hardware.display.composer@3.0",
+        "vendor.qti.hardware.display.composer@3.1",
+        "android.hidl.base@1.0",
+    ],
+    gen_java: false,
+}
diff --git a/display/composer/3.2/IQtiComposer.hal b/display/composer/3.2/IQtiComposer.hal
new file mode 100644
index 0000000..f34f86c
--- /dev/null
+++ b/display/composer/3.2/IQtiComposer.hal
@@ -0,0 +1,24 @@
+/* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+
+package vendor.qti.hardware.display.composer@3.2;
+
+import @3.1::IQtiComposer;
+import IQtiComposerClient;
+import android.hardware.graphics.composer@2.1::Error;
+
+interface IQtiComposer extends @3.1::IQtiComposer {
+      /**
+     * Creates a v3.2 client of the composer.
+     *
+     * @return error is NONE upon success. Otherwise,
+     *         NO_RESOURCES when the client could not be created.
+     * @return client is the newly created client.
+     */
+    @entry
+    @callflow(next="*")
+    createClient_3_2() generates (Error error, IQtiComposerClient client);
+
+};
+
diff --git a/display/composer/3.2/IQtiComposerClient.hal b/display/composer/3.2/IQtiComposerClient.hal
new file mode 100644
index 0000000..156cc7b
--- /dev/null
+++ b/display/composer/3.2/IQtiComposerClient.hal
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+
+
+package vendor.qti.hardware.display.composer@3.2;
+
+import @3.1::IQtiComposerClient;
+interface IQtiComposerClient extends @3.1::IQtiComposerClient {
+
+    enum Command : @3.1::IQtiComposerClient.Command {
+        /**
+         * SET_SINGLE_BUFFER_MODE has this pseudo prototype
+         * setSingleBufferMode(bool isAutoRefresh);
+         */
+
+        SET_SINGLE_BUFFER_MODE_3_2 = 0x805 << IQtiComposerClient.Command:OPCODE_SHIFT,
+    };
+
+
+};
+
diff --git a/display/composer/3.2/hidl_gen_version b/display/composer/3.2/hidl_gen_version
new file mode 100644
index 0000000..e4ca12c
--- /dev/null
+++ b/display/composer/3.2/hidl_gen_version
@@ -0,0 +1 @@
+version=3.2
diff --git a/display/current.txt b/display/current.txt
index 4115e18..e9a5789 100644
--- a/display/current.txt
+++ b/display/current.txt
@@ -113,6 +113,11 @@
 fa035077927f2dff68d2b1ad6e6379822d29364999aa3fd70c5d2ffe93707d9b vendor.qti.hardware.display.demura@1.0::IDemuraFileFinder
 e609d77b00158060ca222ccd13e0ba8019a42336e3b6a6a32c6396f7b7ea2077 vendor.qti.hardware.display.composer@3.1::IQtiComposer
 ee6870d17e33bf8e2365165637b75559ceffda57770b1a35f3a9a8bbf3769266 vendor.qti.hardware.display.composer@3.1::IQtiComposerClient
+dcd4f8ce2125de8f3e4f7fb790bc10b39c0b1eeabc464e89acda557d9003c0ee vendor.qti.hardware.display.composer@3.2::IQtiComposer
+cf55579bd148bc2dc71274109cfed27bd378020e9fe2444500d6691a01bdf537 vendor.qti.hardware.display.composer@3.2::IQtiComposerClient
+
+
+
 550322847ebc31fd2c13a34aefa1f75df1c879cb423422831d5a5f35ba77aca4 vendor.qti.hardware.display.demura@2.0::IDemuraFileFinder
 
 #HAL released in Android T
diff --git a/systemhelper/aidl/Android.bp b/systemhelper/aidl/Android.bp
new file mode 100644
index 0000000..cdb579b
--- /dev/null
+++ b/systemhelper/aidl/Android.bp
@@ -0,0 +1,32 @@
+aidl_interface {
+    name: "vendor.qti.hardware.systemhelperaidl",
+    vendor_available: true,
+    owner: "qti",
+    srcs: [
+        "vendor/qti/hardware/systemhelperaidl/*.aidl",
+    ],
+    imports: [
+        "android.hardware.common-V2",
+    ],
+    stability: "vintf",
+    backend: {
+        cpp: {
+            enabled: false,
+        },
+        java: {
+            sdk_version: "module_current",
+            enabled: false,
+        },
+        ndk: {
+            enabled: true,
+        },
+    },
+    versions_with_info: [
+        {
+            version: "1",
+            imports: ["android.hardware.common-V2"],
+        },
+    ],
+    frozen: true,
+
+}
diff --git a/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/1/.hash b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/1/.hash
new file mode 100644
index 0000000..ac0135f
--- /dev/null
+++ b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/1/.hash
@@ -0,0 +1 @@
+63abbe6a1e4c2a6c3495d7853b73d3da813e18c9
diff --git a/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/1/vendor/qti/hardware/systemhelperaidl/ISystemEvent.aidl b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/1/vendor/qti/hardware/systemhelperaidl/ISystemEvent.aidl
new file mode 100644
index 0000000..2e2bfc4
--- /dev/null
+++ b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/1/vendor/qti/hardware/systemhelperaidl/ISystemEvent.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.systemhelperaidl;
+@VintfStability
+interface ISystemEvent {
+  int deRegisterEvent(in long eventIds, in vendor.qti.hardware.systemhelperaidl.ISystemEventCallback cb);
+  int registerEvent(in long eventIds, in vendor.qti.hardware.systemhelperaidl.ISystemEventCallback cb);
+}
diff --git a/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/1/vendor/qti/hardware/systemhelperaidl/ISystemEventCallback.aidl b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/1/vendor/qti/hardware/systemhelperaidl/ISystemEventCallback.aidl
new file mode 100644
index 0000000..e199c97
--- /dev/null
+++ b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/1/vendor/qti/hardware/systemhelperaidl/ISystemEventCallback.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.systemhelperaidl;
+@VintfStability
+interface ISystemEventCallback {
+  oneway void onEvent(in long eventId);
+}
diff --git a/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/1/vendor/qti/hardware/systemhelperaidl/ISystemResource.aidl b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/1/vendor/qti/hardware/systemhelperaidl/ISystemResource.aidl
new file mode 100644
index 0000000..0371bbc
--- /dev/null
+++ b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/1/vendor/qti/hardware/systemhelperaidl/ISystemResource.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.systemhelperaidl;
+@VintfStability
+interface ISystemResource {
+  int acquire(in vendor.qti.hardware.systemhelperaidl.SystemResourceType resource);
+  int acquireSurface(in int width, in int height, out android.hardware.common.NativeHandle Handle);
+  void release(in int resourceId);
+}
diff --git a/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/1/vendor/qti/hardware/systemhelperaidl/SystemEventType.aidl b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/1/vendor/qti/hardware/systemhelperaidl/SystemEventType.aidl
new file mode 100644
index 0000000..ee16c96
--- /dev/null
+++ b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/1/vendor/qti/hardware/systemhelperaidl/SystemEventType.aidl
@@ -0,0 +1,34 @@
+/*
+ * 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.systemhelperaidl;
+@Backing(type="long") @VintfStability
+enum SystemEventType {
+  PHONE_STATE_RINGING = 0x1,
+  PHONE_STATE_OFF_HOOK = 0x2,
+  PHONE_STATE_IDLE = 0x4,
+  ACTION_SCREEN_OFF = 0x8,
+  ACTION_SCREEN_ON = 0x10,
+  ACTION_SHUTDOWN = 0x20,
+  ACTION_USER_PRESENT = 0x40,
+  SYSTEM_EVENT_MAX = (0x80 - 1) /* 127 */,
+}
diff --git a/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/1/vendor/qti/hardware/systemhelperaidl/SystemResourceType.aidl b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/1/vendor/qti/hardware/systemhelperaidl/SystemResourceType.aidl
new file mode 100644
index 0000000..f801056
--- /dev/null
+++ b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/1/vendor/qti/hardware/systemhelperaidl/SystemResourceType.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.systemhelperaidl;
+@Backing(type="long") @VintfStability
+enum SystemResourceType {
+  WAKE_LOCK = 1,
+  ROTATION_LOCK = 2,
+}
diff --git a/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/current/vendor/qti/hardware/systemhelperaidl/ISystemEvent.aidl b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/current/vendor/qti/hardware/systemhelperaidl/ISystemEvent.aidl
new file mode 100644
index 0000000..2e2bfc4
--- /dev/null
+++ b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/current/vendor/qti/hardware/systemhelperaidl/ISystemEvent.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.systemhelperaidl;
+@VintfStability
+interface ISystemEvent {
+  int deRegisterEvent(in long eventIds, in vendor.qti.hardware.systemhelperaidl.ISystemEventCallback cb);
+  int registerEvent(in long eventIds, in vendor.qti.hardware.systemhelperaidl.ISystemEventCallback cb);
+}
diff --git a/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/current/vendor/qti/hardware/systemhelperaidl/ISystemEventCallback.aidl b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/current/vendor/qti/hardware/systemhelperaidl/ISystemEventCallback.aidl
new file mode 100644
index 0000000..e199c97
--- /dev/null
+++ b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/current/vendor/qti/hardware/systemhelperaidl/ISystemEventCallback.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.systemhelperaidl;
+@VintfStability
+interface ISystemEventCallback {
+  oneway void onEvent(in long eventId);
+}
diff --git a/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/current/vendor/qti/hardware/systemhelperaidl/ISystemResource.aidl b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/current/vendor/qti/hardware/systemhelperaidl/ISystemResource.aidl
new file mode 100644
index 0000000..0371bbc
--- /dev/null
+++ b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/current/vendor/qti/hardware/systemhelperaidl/ISystemResource.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.systemhelperaidl;
+@VintfStability
+interface ISystemResource {
+  int acquire(in vendor.qti.hardware.systemhelperaidl.SystemResourceType resource);
+  int acquireSurface(in int width, in int height, out android.hardware.common.NativeHandle Handle);
+  void release(in int resourceId);
+}
diff --git a/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/current/vendor/qti/hardware/systemhelperaidl/SystemEventType.aidl b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/current/vendor/qti/hardware/systemhelperaidl/SystemEventType.aidl
new file mode 100644
index 0000000..ee16c96
--- /dev/null
+++ b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/current/vendor/qti/hardware/systemhelperaidl/SystemEventType.aidl
@@ -0,0 +1,34 @@
+/*
+ * 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.systemhelperaidl;
+@Backing(type="long") @VintfStability
+enum SystemEventType {
+  PHONE_STATE_RINGING = 0x1,
+  PHONE_STATE_OFF_HOOK = 0x2,
+  PHONE_STATE_IDLE = 0x4,
+  ACTION_SCREEN_OFF = 0x8,
+  ACTION_SCREEN_ON = 0x10,
+  ACTION_SHUTDOWN = 0x20,
+  ACTION_USER_PRESENT = 0x40,
+  SYSTEM_EVENT_MAX = (0x80 - 1) /* 127 */,
+}
diff --git a/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/current/vendor/qti/hardware/systemhelperaidl/SystemResourceType.aidl b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/current/vendor/qti/hardware/systemhelperaidl/SystemResourceType.aidl
new file mode 100644
index 0000000..f801056
--- /dev/null
+++ b/systemhelper/aidl/aidl_api/vendor.qti.hardware.systemhelperaidl/current/vendor/qti/hardware/systemhelperaidl/SystemResourceType.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.systemhelperaidl;
+@Backing(type="long") @VintfStability
+enum SystemResourceType {
+  WAKE_LOCK = 1,
+  ROTATION_LOCK = 2,
+}
diff --git a/systemhelper/aidl/vendor/qti/hardware/systemhelperaidl/ISystemEvent.aidl b/systemhelper/aidl/vendor/qti/hardware/systemhelperaidl/ISystemEvent.aidl
new file mode 100644
index 0000000..e25f7ee
--- /dev/null
+++ b/systemhelper/aidl/vendor/qti/hardware/systemhelperaidl/ISystemEvent.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.systemhelperaidl;
+
+import vendor.qti.hardware.systemhelperaidl.ISystemEventCallback;
+import vendor.qti.hardware.systemhelperaidl.SystemEventType;
+
+@VintfStability
+interface ISystemEvent {
+    /**
+     * Deregister for system event notification.
+     *
+     * @param eventIds event mask (of type SystemEventType) to deregister for
+     * @param cb callback interface used for event registration
+     * @return status of event de-registration request
+     *                0 in case of success and negative in case of failure
+     */
+    int deRegisterEvent(in long eventIds, in ISystemEventCallback cb);
+
+    /**
+     * Register for system event notification.
+     *
+     * @param eventIds event mask (of type SystemEventType) to register for
+     * @param cb callback interface for event notification
+     * @return status of event registration request
+     *                0 in case of success and negative in case of failure
+     */
+    int registerEvent(in long eventIds, in ISystemEventCallback cb);
+}
\ No newline at end of file
diff --git a/systemhelper/aidl/vendor/qti/hardware/systemhelperaidl/ISystemEventCallback.aidl b/systemhelper/aidl/vendor/qti/hardware/systemhelperaidl/ISystemEventCallback.aidl
new file mode 100644
index 0000000..82a4c80
--- /dev/null
+++ b/systemhelper/aidl/vendor/qti/hardware/systemhelperaidl/ISystemEventCallback.aidl
@@ -0,0 +1,16 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+
+package vendor.qti.hardware.systemhelperaidl;
+
+@VintfStability
+interface ISystemEventCallback {
+    /**
+     * Event notification.
+     *
+     * @param eventId event occurred (of type SystemEventType)
+     */
+    oneway void onEvent(in long eventId);
+}
\ No newline at end of file
diff --git a/systemhelper/aidl/vendor/qti/hardware/systemhelperaidl/ISystemResource.aidl b/systemhelper/aidl/vendor/qti/hardware/systemhelperaidl/ISystemResource.aidl
new file mode 100644
index 0000000..8e5eb1a
--- /dev/null
+++ b/systemhelper/aidl/vendor/qti/hardware/systemhelperaidl/ISystemResource.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+
+package vendor.qti.hardware.systemhelperaidl;
+
+import vendor.qti.hardware.systemhelperaidl.SystemResourceType;
+import android.hardware.common.NativeHandle;
+
+@VintfStability
+interface ISystemResource {
+    /**
+     * Acquire a system resource
+     *
+     * @param resource resource to acquire
+     * @return resourceId unique resource identifier for acquired resource
+     *                    Note : resourceId stands invalid in case of API returned error
+     */
+    int acquire(in SystemResourceType resource);
+
+    /**
+     * Acquire a system graphics surface.
+     *
+     * @param width surface width
+     * @param height surface height
+     * @param out handle NativeHandle wrapper for IGraphicBufferProducer interface
+     * @return resourceId unique resource identifier for acquired resource
+     *                    Note : resourceId stands invalid in case of API returned error
+     */
+    int acquireSurface(in int width, in int height, out NativeHandle Handle);
+
+    /**
+     * Release an acquired resource
+     *
+     * Both resource and surface shall be released via this API.
+     *
+     * @param resourceId unique resource identifier to be released
+     */
+    void release(in int resourceId);
+}
\ No newline at end of file
diff --git a/systemhelper/aidl/vendor/qti/hardware/systemhelperaidl/SystemEventType.aidl b/systemhelper/aidl/vendor/qti/hardware/systemhelperaidl/SystemEventType.aidl
new file mode 100644
index 0000000..b229508
--- /dev/null
+++ b/systemhelper/aidl/vendor/qti/hardware/systemhelperaidl/SystemEventType.aidl
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+
+package vendor.qti.hardware.systemhelperaidl;
+
+/** Types of Events **/
+
+@VintfStability
+@Backing(type="long")
+enum SystemEventType {
+    PHONE_STATE_RINGING  = 0x1,
+    PHONE_STATE_OFF_HOOK = 0x2,
+    PHONE_STATE_IDLE     = 0x4,
+    ACTION_SCREEN_OFF    = 0x8,
+    ACTION_SCREEN_ON     = 0x10,
+    ACTION_SHUTDOWN      = 0x20,
+    ACTION_USER_PRESENT  = 0x40,
+    SYSTEM_EVENT_MAX     = (0x80 - 1),
+}
\ No newline at end of file
diff --git a/systemhelper/aidl/vendor/qti/hardware/systemhelperaidl/SystemResourceType.aidl b/systemhelper/aidl/vendor/qti/hardware/systemhelperaidl/SystemResourceType.aidl
new file mode 100644
index 0000000..3728249
--- /dev/null
+++ b/systemhelper/aidl/vendor/qti/hardware/systemhelperaidl/SystemResourceType.aidl
@@ -0,0 +1,13 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+
+package vendor.qti.hardware.systemhelperaidl;
+
+@VintfStability
+@Backing(type="long")
+enum SystemResourceType {
+    WAKE_LOCK = 1,
+    ROTATION_LOCK = 2,
+}
\ No newline at end of file