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