Merge "AIDL interface for servicetracker"
diff --git a/servicetracker/aidl/Android.bp b/servicetracker/aidl/Android.bp
new file mode 100644
index 0000000..e48aaa7
--- /dev/null
+++ b/servicetracker/aidl/Android.bp
@@ -0,0 +1,28 @@
+aidl_interface {
+ name: "vendor.qti.hardware.servicetrackeraidl",
+ vendor_available: true,
+ host_supported: true,
+ system_ext_specific: true,
+ srcs: ["vendor/qti/hardware/servicetrackeraidl/*.aidl"],
+ stability: "vintf",
+ backend: {
+ cpp: {
+ enabled: false,
+ },
+ ndk: {
+ enabled: true,
+ },
+ java: {
+ enabled: true,
+ sdk_version: "module_current",
+ },
+ },
+ versions_with_info: [
+ {
+ version: "1",
+ imports: [],
+ },
+ ],
+ frozen: true,
+
+}
diff --git a/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/.hash b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/.hash
new file mode 100644
index 0000000..1322f38
--- /dev/null
+++ b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/.hash
@@ -0,0 +1 @@
+fd4771abe6e1c694687c871ee5d888b6e9cbf7b0
diff --git a/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/ClientConnection.aidl b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/ClientConnection.aidl
new file mode 100644
index 0000000..0d1bdc4
--- /dev/null
+++ b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/ClientConnection.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.servicetrackeraidl;
+@VintfStability
+parcelable ClientConnection {
+ String serviceName;
+ int servicePid;
+ int count;
+}
diff --git a/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/ClientData.aidl b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/ClientData.aidl
new file mode 100644
index 0000000..9bb311f
--- /dev/null
+++ b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/ClientData.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.servicetrackeraidl;
+@VintfStability
+parcelable ClientData {
+ String processName;
+ int pid;
+}
diff --git a/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/ClientRecord.aidl b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/ClientRecord.aidl
new file mode 100644
index 0000000..3c58118
--- /dev/null
+++ b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/ClientRecord.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.servicetrackeraidl;
+@VintfStability
+parcelable ClientRecord {
+ String processName;
+ int pid;
+ vendor.qti.hardware.servicetrackeraidl.ClientConnection[] conn;
+}
diff --git a/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/IServicetracker.aidl b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/IServicetracker.aidl
new file mode 100644
index 0000000..a8f753e
--- /dev/null
+++ b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/IServicetracker.aidl
@@ -0,0 +1,40 @@
+/*
+*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.servicetrackeraidl;
+@VintfStability
+interface IServicetracker {
+ oneway void bindService(in vendor.qti.hardware.servicetrackeraidl.ServiceData serviceData, in vendor.qti.hardware.servicetrackeraidl.ClientData clientData);
+ oneway void destroyService(in vendor.qti.hardware.servicetrackeraidl.ServiceData serviceData);
+ vendor.qti.hardware.servicetrackeraidl.ClientConnection[] getClientConnections(in String clientName);
+ int getPid(in String processName);
+ int[] getPids(in String[] serviceList);
+ int[] getRunningServicePid();
+ int getServiceBCount(out vendor.qti.hardware.servicetrackeraidl.ServiceRecord[] bServiceList);
+ vendor.qti.hardware.servicetrackeraidl.ServiceConnection[] getServiceConnections(in String serviceName);
+ vendor.qti.hardware.servicetrackeraidl.ClientRecord getclientInfo(in String clientName);
+ vendor.qti.hardware.servicetrackeraidl.ServiceRecord getserviceInfo(in String serviceName);
+ boolean isServiceB(in String serviceName);
+ oneway void killProcess(in int pid);
+ oneway void startService(in vendor.qti.hardware.servicetrackeraidl.ServiceData serviceData);
+ oneway void unbindService(in vendor.qti.hardware.servicetrackeraidl.ServiceData serviceData, in vendor.qti.hardware.servicetrackeraidl.ClientData clientData);
+}
diff --git a/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/ServiceConnection.aidl b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/ServiceConnection.aidl
new file mode 100644
index 0000000..519d0b6
--- /dev/null
+++ b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/ServiceConnection.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.servicetrackeraidl;
+@VintfStability
+parcelable ServiceConnection {
+ String clientName;
+ int clientPid;
+ int count;
+}
diff --git a/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/ServiceData.aidl b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/ServiceData.aidl
new file mode 100644
index 0000000..68d6678
--- /dev/null
+++ b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/ServiceData.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.servicetrackeraidl;
+@VintfStability
+parcelable ServiceData {
+ String packageName;
+ String processName;
+ int pid;
+ double lastActivity;
+ boolean serviceB;
+}
diff --git a/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/ServiceRecord.aidl b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/ServiceRecord.aidl
new file mode 100644
index 0000000..20dba44
--- /dev/null
+++ b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/ServiceRecord.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.servicetrackeraidl;
+@VintfStability
+parcelable ServiceRecord {
+ String packageName;
+ String processName;
+ int pid;
+ boolean serviceB;
+ double lastActivity;
+ vendor.qti.hardware.servicetrackeraidl.ServiceConnection[] conn;
+}
diff --git a/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/Status.aidl b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/Status.aidl
new file mode 100644
index 0000000..26ccd87
--- /dev/null
+++ b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/1/vendor/qti/hardware/servicetrackeraidl/Status.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.servicetrackeraidl;
+@Backing(type="int") @VintfStability
+enum Status {
+ SUCCESS = 0,
+ ERROR_NOT_AVAILABLE = 1,
+ ERROR_INVALID_ARGS = 2,
+ ERROR_NOT_SUPPORTED = 3,
+ ERROR_UNKNOWN = 4,
+}
diff --git a/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/ClientConnection.aidl b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/ClientConnection.aidl
new file mode 100644
index 0000000..0d1bdc4
--- /dev/null
+++ b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/ClientConnection.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.servicetrackeraidl;
+@VintfStability
+parcelable ClientConnection {
+ String serviceName;
+ int servicePid;
+ int count;
+}
diff --git a/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/ClientData.aidl b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/ClientData.aidl
new file mode 100644
index 0000000..9bb311f
--- /dev/null
+++ b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/ClientData.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.servicetrackeraidl;
+@VintfStability
+parcelable ClientData {
+ String processName;
+ int pid;
+}
diff --git a/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/ClientRecord.aidl b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/ClientRecord.aidl
new file mode 100644
index 0000000..3c58118
--- /dev/null
+++ b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/ClientRecord.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.servicetrackeraidl;
+@VintfStability
+parcelable ClientRecord {
+ String processName;
+ int pid;
+ vendor.qti.hardware.servicetrackeraidl.ClientConnection[] conn;
+}
diff --git a/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/IServicetracker.aidl b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/IServicetracker.aidl
new file mode 100644
index 0000000..a8f753e
--- /dev/null
+++ b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/IServicetracker.aidl
@@ -0,0 +1,40 @@
+/*
+*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.servicetrackeraidl;
+@VintfStability
+interface IServicetracker {
+ oneway void bindService(in vendor.qti.hardware.servicetrackeraidl.ServiceData serviceData, in vendor.qti.hardware.servicetrackeraidl.ClientData clientData);
+ oneway void destroyService(in vendor.qti.hardware.servicetrackeraidl.ServiceData serviceData);
+ vendor.qti.hardware.servicetrackeraidl.ClientConnection[] getClientConnections(in String clientName);
+ int getPid(in String processName);
+ int[] getPids(in String[] serviceList);
+ int[] getRunningServicePid();
+ int getServiceBCount(out vendor.qti.hardware.servicetrackeraidl.ServiceRecord[] bServiceList);
+ vendor.qti.hardware.servicetrackeraidl.ServiceConnection[] getServiceConnections(in String serviceName);
+ vendor.qti.hardware.servicetrackeraidl.ClientRecord getclientInfo(in String clientName);
+ vendor.qti.hardware.servicetrackeraidl.ServiceRecord getserviceInfo(in String serviceName);
+ boolean isServiceB(in String serviceName);
+ oneway void killProcess(in int pid);
+ oneway void startService(in vendor.qti.hardware.servicetrackeraidl.ServiceData serviceData);
+ oneway void unbindService(in vendor.qti.hardware.servicetrackeraidl.ServiceData serviceData, in vendor.qti.hardware.servicetrackeraidl.ClientData clientData);
+}
diff --git a/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/ServiceConnection.aidl b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/ServiceConnection.aidl
new file mode 100644
index 0000000..519d0b6
--- /dev/null
+++ b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/ServiceConnection.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.servicetrackeraidl;
+@VintfStability
+parcelable ServiceConnection {
+ String clientName;
+ int clientPid;
+ int count;
+}
diff --git a/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/ServiceData.aidl b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/ServiceData.aidl
new file mode 100644
index 0000000..68d6678
--- /dev/null
+++ b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/ServiceData.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.servicetrackeraidl;
+@VintfStability
+parcelable ServiceData {
+ String packageName;
+ String processName;
+ int pid;
+ double lastActivity;
+ boolean serviceB;
+}
diff --git a/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/ServiceRecord.aidl b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/ServiceRecord.aidl
new file mode 100644
index 0000000..20dba44
--- /dev/null
+++ b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/ServiceRecord.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.servicetrackeraidl;
+@VintfStability
+parcelable ServiceRecord {
+ String packageName;
+ String processName;
+ int pid;
+ boolean serviceB;
+ double lastActivity;
+ vendor.qti.hardware.servicetrackeraidl.ServiceConnection[] conn;
+}
diff --git a/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/Status.aidl b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/Status.aidl
new file mode 100644
index 0000000..26ccd87
--- /dev/null
+++ b/servicetracker/aidl/aidl_api/vendor.qti.hardware.servicetrackeraidl/current/vendor/qti/hardware/servicetrackeraidl/Status.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.servicetrackeraidl;
+@Backing(type="int") @VintfStability
+enum Status {
+ SUCCESS = 0,
+ ERROR_NOT_AVAILABLE = 1,
+ ERROR_INVALID_ARGS = 2,
+ ERROR_NOT_SUPPORTED = 3,
+ ERROR_UNKNOWN = 4,
+}
diff --git a/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/ClientConnection.aidl b/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/ClientConnection.aidl
new file mode 100644
index 0000000..e6822bd
--- /dev/null
+++ b/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/ClientConnection.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.servicetrackeraidl;
+
+/**
+ * structure to define client to service connection
+ */
+@VintfStability
+parcelable ClientConnection {
+ String serviceName;
+ int servicePid;
+ int count;
+}
diff --git a/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/ClientData.aidl b/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/ClientData.aidl
new file mode 100644
index 0000000..b10aa41
--- /dev/null
+++ b/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/ClientData.aidl
@@ -0,0 +1,15 @@
+/*
+*Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+*SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+
+package vendor.qti.hardware.servicetrackeraidl;
+
+/**
+ * Client information recieved by AMS
+ */
+@VintfStability
+parcelable ClientData {
+ String processName;
+ int pid;
+}
diff --git a/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/ClientRecord.aidl b/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/ClientRecord.aidl
new file mode 100644
index 0000000..abe31ef
--- /dev/null
+++ b/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/ClientRecord.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.servicetrackeraidl;
+
+import vendor.qti.hardware.servicetrackeraidl.ClientConnection;
+
+/**
+ * Client information
+ */
+@VintfStability
+parcelable ClientRecord {
+ String processName;
+ int pid;
+ ClientConnection[] conn;
+}
diff --git a/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/IServicetracker.aidl b/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/IServicetracker.aidl
new file mode 100644
index 0000000..d90be3b
--- /dev/null
+++ b/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/IServicetracker.aidl
@@ -0,0 +1,102 @@
+/*
+*Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+*SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+
+package vendor.qti.hardware.servicetrackeraidl;
+
+import vendor.qti.hardware.servicetrackeraidl.ClientConnection;
+import vendor.qti.hardware.servicetrackeraidl.ClientData;
+import vendor.qti.hardware.servicetrackeraidl.ClientRecord;
+import vendor.qti.hardware.servicetrackeraidl.ServiceConnection;
+import vendor.qti.hardware.servicetrackeraidl.ServiceData;
+import vendor.qti.hardware.servicetrackeraidl.ServiceRecord;
+import vendor.qti.hardware.servicetrackeraidl.Status;
+
+// Interface inherits from vendor.qti.hardware.servicetrackeraidl@1.0::IServicetracker but AIDL does not support interface inheritance (methods have been flattened).
+@VintfStability
+interface IServicetracker {
+ /**
+ * Collect and update the information for the service which is just bound to
+ * @param clientData
+ * @param serviceData
+ */
+ oneway void bindService(in ServiceData serviceData, in ClientData clientData);
+
+ /**
+ * Update the service information when service specified by
+ * @param serviceData has been destroyed
+ */
+ oneway void destroyService(in ServiceData serviceData);
+
+ /**
+ * Return the list of services associated with the client
+ * specified by @param clientName
+ */
+ ClientConnection[] getClientConnections(in String clientName);
+
+
+ /**
+ * Return the pid of the process specified by @param processName
+ */
+ int getPid(in String processName);
+
+ /**
+ * Return the pid of the services listed in @param serviceList
+ */
+ int[] getPids(in String[] serviceList);
+
+ /**
+ * Return Pids of all the running Android Services.
+ */
+ int[] getRunningServicePid();
+
+
+ /**
+ * generate the list of b services running in system
+ */
+ int getServiceBCount(out ServiceRecord[] bServiceList);
+
+ /**
+ * Return list of clients associated with the service specified by
+ * @param serviceName
+ */
+ ServiceConnection[] getServiceConnections(in String serviceName);
+
+ /**
+ * Return all the details related to Client specified by @param
+ * clientName
+ */
+ ClientRecord getclientInfo(in String clientName);
+
+ /**
+ * Return all the details related to Service specified by @param
+ * serviceName
+ */
+ ServiceRecord getserviceInfo(in String serviceName);
+
+ /**
+ * Return whether a service specified by @param serviceName is
+ * B-Service or not
+ */
+ boolean isServiceB(in String serviceName);
+
+ /**
+ * Update the service and client information when process
+ * specified by @param pid got killed
+ */
+ oneway void killProcess(in int pid);
+
+ /**
+ * Collect the information related to service that is just started
+ * @param serviceData contains details of the service,@param clientData
+ * contains the details of client which has started the service
+ */
+ oneway void startService(in ServiceData serviceData);
+
+ /**
+ * Update the bind information of sevice,client pair specified
+ * by @param serviceData and @param clientData
+ */
+ oneway void unbindService(in ServiceData serviceData, in ClientData clientData);
+}
diff --git a/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/ServiceConnection.aidl b/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/ServiceConnection.aidl
new file mode 100644
index 0000000..6badfed
--- /dev/null
+++ b/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/ServiceConnection.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.servicetrackeraidl;
+
+/**
+ * structure to define service to client connection
+ */
+@VintfStability
+parcelable ServiceConnection {
+ String clientName;
+ int clientPid;
+ int count;
+}
diff --git a/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/ServiceData.aidl b/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/ServiceData.aidl
new file mode 100644
index 0000000..32a4422
--- /dev/null
+++ b/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/ServiceData.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.servicetrackeraidl;
+
+/**
+ * Service information recieved by AMS
+ */
+@VintfStability
+parcelable ServiceData {
+ String packageName;
+ String processName;
+ int pid;
+ double lastActivity;
+ boolean serviceB;
+}
diff --git a/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/ServiceRecord.aidl b/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/ServiceRecord.aidl
new file mode 100644
index 0000000..7400b17
--- /dev/null
+++ b/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/ServiceRecord.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.servicetrackeraidl;
+
+import vendor.qti.hardware.servicetrackeraidl.ServiceConnection;
+
+/**
+ * Service information
+ */
+@VintfStability
+parcelable ServiceRecord {
+ String packageName;
+ String processName;
+ int pid;
+ boolean serviceB;
+ double lastActivity;
+ ServiceConnection[] conn;
+}
diff --git a/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/Status.aidl b/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/Status.aidl
new file mode 100644
index 0000000..d1d826a
--- /dev/null
+++ b/servicetracker/aidl/vendor/qti/hardware/servicetrackeraidl/Status.aidl
@@ -0,0 +1,33 @@
+/*
+*Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+*SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+
+package vendor.qti.hardware.servicetrackeraidl;
+
+/**
+ * Enum Values indicating the result of operation
+ */
+@VintfStability
+@Backing(type="int")
+enum Status {
+ /**
+ * No errors.
+ */
+ SUCCESS,
+ /**
+ * the component for which the query is made
+ * is not yet available
+ */
+ ERROR_NOT_AVAILABLE,
+ /**
+ * the arguments passed are invalid
+ */
+ ERROR_INVALID_ARGS,
+ /**
+ * the information asked for the componenent
+ * is not supported
+ */
+ ERROR_NOT_SUPPORTED,
+ ERROR_UNKNOWN,
+}