Merge "interface: systemhelper: HAL AIDL interfaces"
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