ril: sehradiomanager: Add support for AIDL sehradio
authorTim Zimmermann <tim@linux4.de>
Sat, 16 Mar 2024 11:37:07 +0000 (12:37 +0100)
committerJan Altensen (Stricted) <info@stricted.net>
Fri, 21 Jun 2024 04:02:30 +0000 (04:02 +0000)
* Based on https://github.com/TrebleDroid/platform_frameworks_opt_telephony/commit/f41efd654ac6a0f0b714996cf97501665ab288c0

Co-Authored-By: Pierre-Hugues Husson <phh@phh.me>
Change-Id: I25a2422b364d2118cb447e6e64e166e8e112fb18

58 files changed:
interfaces/radio/network/aidl/Android.bp [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/.hash [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/ISehRadioNetwork.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/ISehRadioNetworkIndication.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/ISehRadioNetworkResponse.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehArfcnInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehCallDetails.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehCsgInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehEriInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehExtendedRegStateResult.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehOperatorInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehPreferredNetworkInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehRadioResponseInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehRoamingNetworkInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehSignalBar.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehVendorConfiguration.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/ISehRadioNetwork.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/ISehRadioNetworkIndication.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/ISehRadioNetworkResponse.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehArfcnInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehCallDetails.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehCsgInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehEriInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehExtendedRegStateResult.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehOperatorInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehPreferredNetworkInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehRadioResponseInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehRoamingNetworkInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehSignalBar.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehVendorConfiguration.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/ISehRadioNetwork.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/ISehRadioNetworkIndication.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/ISehRadioNetworkResponse.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehArfcnInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehCallDetails.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehCsgInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehEriInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehExtendedRegStateResult.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehOperatorInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehPreferredNetworkInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehRadioResponseInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehRoamingNetworkInfo.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehSignalBar.aidl [new file with mode: 0644]
interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehVendorConfiguration.aidl [new file with mode: 0644]
ril/sehradiomanager/Android.bp
ril/sehradiomanager/SehRadioIndication.cpp [deleted file]
ril/sehradiomanager/SehRadioIndication.h [deleted file]
ril/sehradiomanager/SehRadioResponse.cpp [deleted file]
ril/sehradiomanager/SehRadioResponse.h [deleted file]
ril/sehradiomanager/aidl/SehRadioNetworkIndication.cpp [new file with mode: 0644]
ril/sehradiomanager/aidl/SehRadioNetworkIndication.h [new file with mode: 0644]
ril/sehradiomanager/aidl/SehRadioNetworkResponse.cpp [new file with mode: 0644]
ril/sehradiomanager/aidl/SehRadioNetworkResponse.h [new file with mode: 0644]
ril/sehradiomanager/hidl/SehRadioIndication.cpp [new file with mode: 0644]
ril/sehradiomanager/hidl/SehRadioIndication.h [new file with mode: 0644]
ril/sehradiomanager/hidl/SehRadioResponse.cpp [new file with mode: 0644]
ril/sehradiomanager/hidl/SehRadioResponse.h [new file with mode: 0644]
ril/sehradiomanager/sehradiomanager.cpp

diff --git a/interfaces/radio/network/aidl/Android.bp b/interfaces/radio/network/aidl/Android.bp
new file mode 100644 (file)
index 0000000..390f5f8
--- /dev/null
@@ -0,0 +1,23 @@
+aidl_interface {
+    name: "vendor.samsung.hardware.radio.network",
+    vendor_available: true,
+    srcs: [
+        "vendor/samsung/hardware/radio/network/*.aidl",
+    ],
+    stability: "vintf",
+    backend: {
+        cpp: {
+            enabled: true,
+        },
+        java: {
+            sdk_version: "module_current",
+        },
+    },
+    versions_with_info: [
+        {
+            version: "1",
+            imports: [],
+        },
+    ],
+    owner: "samsung",
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/.hash b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/.hash
new file mode 100644 (file)
index 0000000..4c11220
--- /dev/null
@@ -0,0 +1 @@
+b6801a5cca21eab5f8034f5bec4c6a01ef856157
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/ISehRadioNetwork.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/ISehRadioNetwork.aidl
new file mode 100644 (file)
index 0000000..14309ff
--- /dev/null
@@ -0,0 +1,46 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+interface ISehRadioNetwork {
+  oneway void emergencyControl();
+  oneway void emergencySearch();
+  oneway void getAvailableNetworks();
+  oneway void getCnap();
+  oneway void getCsgList();
+  oneway void getDisable2g();
+  oneway void getNrIconType();
+  oneway void getNrMode();
+  oneway void getPreferredNetworkList();
+  oneway void getRoamingNetworkInfoViaBLE();
+  oneway void getVendorSpecificConfiguration();
+  oneway void selectCsgManual();
+  oneway void sendEncodedUssd();
+  oneway void sendRequestRaw();
+  oneway void sendRequestStrings();
+  oneway void setCurrentNetworkInfoViaBLE();
+  oneway void setDisable2g();
+  oneway void setImsCallList();
+  oneway void setNrMode(int serial, int mode, boolean force);
+  oneway void setPreferredNetworkList();
+  oneway void setResponseFunctions(in vendor.samsung.hardware.radio.network.ISehRadioNetworkResponse response, in vendor.samsung.hardware.radio.network.ISehRadioNetworkIndication indication);
+  oneway void setRoamingNetworkInfoViaBLE();
+  oneway void setScanResultViaBLE();
+  oneway void setVendorSpecificConfiguration(int serial, in vendor.samsung.hardware.radio.network.SehVendorConfiguration[] configurations);
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/ISehRadioNetworkIndication.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/ISehRadioNetworkIndication.aidl
new file mode 100644 (file)
index 0000000..a5669a1
--- /dev/null
@@ -0,0 +1,36 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+interface ISehRadioNetworkIndication {
+  oneway void acbInfo(int type, in int[] acbInfo);
+  oneway void callDetailsChanged(int type, in vendor.samsung.hardware.radio.network.SehCallDetails[] callDetails);
+  oneway void csFallback(int type, int state);
+  oneway void currentNetworkScanIsrequested(int type, byte mode);
+  oneway void eriInfoReceived(int type, in vendor.samsung.hardware.radio.network.SehEriInfo eriInfo);
+  oneway void execute(int type, String cmd);
+  oneway void extendedRegistrationState(int type, in vendor.samsung.hardware.radio.network.SehExtendedRegStateResult state);
+  oneway void imsPreferenceChanged(int type, in int[] imsPref);
+  oneway void needTurnOnRadioIndication(int type);
+  oneway void nrBearerAllocationChanged(int type, int status);
+  oneway void nrIconTypeChanged(int type, int nrIconType);
+  oneway void roamingNetworkScanIsRequested(int type, in byte[] scanData);
+  oneway void signalLevelInfoChanged(int type, in vendor.samsung.hardware.radio.network.SehSignalBar signalBarInfo);
+  oneway void vendorConfigurationChanged(int type, in vendor.samsung.hardware.radio.network.SehVendorConfiguration[] configurations);
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/ISehRadioNetworkResponse.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/ISehRadioNetworkResponse.aidl
new file mode 100644 (file)
index 0000000..67ff707
--- /dev/null
@@ -0,0 +1,45 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+interface ISehRadioNetworkResponse {
+  oneway void emergencyControlResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void emergencySearchResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, int respEmergenySearch);
+  oneway void getAvailableNetworksResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, in vendor.samsung.hardware.radio.network.SehOperatorInfo[] networksInfo);
+  oneway void getCnapResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, int m);
+  oneway void getCsgListResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, in vendor.samsung.hardware.radio.network.SehCsgInfo[] csgInfos);
+  oneway void getDisable2gResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, int isDisable);
+  oneway void getNrIconTypeResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, int nrIconType);
+  oneway void getNrModeResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, int nrMode);
+  oneway void getPreferredNetworkListResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, in vendor.samsung.hardware.radio.network.SehPreferredNetworkInfo[] infos);
+  oneway void getRoamingNetworkInfoViaBLEResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, in vendor.samsung.hardware.radio.network.SehRoamingNetworkInfo[] networkInfo);
+  oneway void getVendorSpecificConfigurationResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, in vendor.samsung.hardware.radio.network.SehVendorConfiguration configurations);
+  oneway void selectCsgManualResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void sendEncodedUssdResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void sendRequestRawResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, in byte[] data);
+  oneway void sendRequestStringsResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, in String[] data);
+  oneway void setCurrentNetworkInfoViaBLEResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void setDisable2gResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void setImsCallListResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void setNrModeResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void setPreferredNetworkListResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void setRoamingNetworkInfoViaBLEResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void setScanResultViaBLEResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void setVendorSpecificConfigurationResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehArfcnInfo.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehArfcnInfo.aidl
new file mode 100644 (file)
index 0000000..70a4f29
--- /dev/null
@@ -0,0 +1,25 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehArfcnInfo {
+  byte rat;
+  int band;
+  int arfcn;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehCallDetails.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehCallDetails.aidl
new file mode 100644 (file)
index 0000000..6eccfaf
--- /dev/null
@@ -0,0 +1,24 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehCallDetails {
+  int callType;
+  String[] extras;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehCsgInfo.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehCsgInfo.aidl
new file mode 100644 (file)
index 0000000..3202736
--- /dev/null
@@ -0,0 +1,28 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehCsgInfo {
+  int csgId;
+  String name;
+  String plmn;
+  int rat;
+  int category;
+  int signalStrength;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehEriInfo.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehEriInfo.aidl
new file mode 100644 (file)
index 0000000..e2914a6
--- /dev/null
@@ -0,0 +1,26 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehEriInfo {
+  String eriText;
+  byte roamingIndicator;
+  byte iconIndex;
+  byte iconMode;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehExtendedRegStateResult.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehExtendedRegStateResult.aidl
new file mode 100644 (file)
index 0000000..107250a
--- /dev/null
@@ -0,0 +1,30 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehExtendedRegStateResult {
+  int unprocessedDataRegState;
+  int unprocessedVoiceRegState;
+  boolean isValid;
+  int snapshotStatus;
+  int unprocessedDataRat;
+  int mobileOptionalRat;
+  int imsEmergencyCallBarring;
+  boolean isPsOnlyReg;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehOperatorInfo.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehOperatorInfo.aidl
new file mode 100644 (file)
index 0000000..a9620ab
--- /dev/null
@@ -0,0 +1,28 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehOperatorInfo {
+  String alphaLong;
+  String alphaShort;
+  String operatorNumeric;
+  int status;
+  String rat;
+  String lac;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehPreferredNetworkInfo.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehPreferredNetworkInfo.aidl
new file mode 100644 (file)
index 0000000..0147d64
--- /dev/null
@@ -0,0 +1,29 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehPreferredNetworkInfo {
+  int index;
+  String oper;
+  String plmn;
+  int gsmAct;
+  int gsmCompactAct;
+  int utranAct;
+  int mode;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehRadioResponseInfo.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehRadioResponseInfo.aidl
new file mode 100644 (file)
index 0000000..9309709
--- /dev/null
@@ -0,0 +1,25 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehRadioResponseInfo {
+  int error;
+  int serial;
+  int type;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehRoamingNetworkInfo.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehRoamingNetworkInfo.aidl
new file mode 100644 (file)
index 0000000..6bd88c5
--- /dev/null
@@ -0,0 +1,28 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehRoamingNetworkInfo {
+  byte[] plmn;
+  byte rat;
+  byte regState;
+  byte opResult;
+  byte[] date;
+  vendor.samsung.hardware.radio.network.SehArfcnInfo[] arfcnInfo;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehSignalBar.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehSignalBar.aidl
new file mode 100644 (file)
index 0000000..fbdb349
--- /dev/null
@@ -0,0 +1,29 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehSignalBar {
+  int cdmaLevel;
+  int evdoLevel;
+  int gsmLevel;
+  int wcdmaLevel;
+  int tdscdmaLevel;
+  int lteLevel;
+  int nrLevel;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehVendorConfiguration.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/1/vendor/samsung/hardware/radio/network/SehVendorConfiguration.aidl
new file mode 100644 (file)
index 0000000..1216dcf
--- /dev/null
@@ -0,0 +1,24 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehVendorConfiguration {
+  String name;
+  String value;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/ISehRadioNetwork.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/ISehRadioNetwork.aidl
new file mode 100644 (file)
index 0000000..14309ff
--- /dev/null
@@ -0,0 +1,46 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+interface ISehRadioNetwork {
+  oneway void emergencyControl();
+  oneway void emergencySearch();
+  oneway void getAvailableNetworks();
+  oneway void getCnap();
+  oneway void getCsgList();
+  oneway void getDisable2g();
+  oneway void getNrIconType();
+  oneway void getNrMode();
+  oneway void getPreferredNetworkList();
+  oneway void getRoamingNetworkInfoViaBLE();
+  oneway void getVendorSpecificConfiguration();
+  oneway void selectCsgManual();
+  oneway void sendEncodedUssd();
+  oneway void sendRequestRaw();
+  oneway void sendRequestStrings();
+  oneway void setCurrentNetworkInfoViaBLE();
+  oneway void setDisable2g();
+  oneway void setImsCallList();
+  oneway void setNrMode(int serial, int mode, boolean force);
+  oneway void setPreferredNetworkList();
+  oneway void setResponseFunctions(in vendor.samsung.hardware.radio.network.ISehRadioNetworkResponse response, in vendor.samsung.hardware.radio.network.ISehRadioNetworkIndication indication);
+  oneway void setRoamingNetworkInfoViaBLE();
+  oneway void setScanResultViaBLE();
+  oneway void setVendorSpecificConfiguration(int serial, in vendor.samsung.hardware.radio.network.SehVendorConfiguration[] configurations);
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/ISehRadioNetworkIndication.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/ISehRadioNetworkIndication.aidl
new file mode 100644 (file)
index 0000000..a5669a1
--- /dev/null
@@ -0,0 +1,36 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+interface ISehRadioNetworkIndication {
+  oneway void acbInfo(int type, in int[] acbInfo);
+  oneway void callDetailsChanged(int type, in vendor.samsung.hardware.radio.network.SehCallDetails[] callDetails);
+  oneway void csFallback(int type, int state);
+  oneway void currentNetworkScanIsrequested(int type, byte mode);
+  oneway void eriInfoReceived(int type, in vendor.samsung.hardware.radio.network.SehEriInfo eriInfo);
+  oneway void execute(int type, String cmd);
+  oneway void extendedRegistrationState(int type, in vendor.samsung.hardware.radio.network.SehExtendedRegStateResult state);
+  oneway void imsPreferenceChanged(int type, in int[] imsPref);
+  oneway void needTurnOnRadioIndication(int type);
+  oneway void nrBearerAllocationChanged(int type, int status);
+  oneway void nrIconTypeChanged(int type, int nrIconType);
+  oneway void roamingNetworkScanIsRequested(int type, in byte[] scanData);
+  oneway void signalLevelInfoChanged(int type, in vendor.samsung.hardware.radio.network.SehSignalBar signalBarInfo);
+  oneway void vendorConfigurationChanged(int type, in vendor.samsung.hardware.radio.network.SehVendorConfiguration[] configurations);
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/ISehRadioNetworkResponse.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/ISehRadioNetworkResponse.aidl
new file mode 100644 (file)
index 0000000..67ff707
--- /dev/null
@@ -0,0 +1,45 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+interface ISehRadioNetworkResponse {
+  oneway void emergencyControlResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void emergencySearchResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, int respEmergenySearch);
+  oneway void getAvailableNetworksResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, in vendor.samsung.hardware.radio.network.SehOperatorInfo[] networksInfo);
+  oneway void getCnapResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, int m);
+  oneway void getCsgListResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, in vendor.samsung.hardware.radio.network.SehCsgInfo[] csgInfos);
+  oneway void getDisable2gResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, int isDisable);
+  oneway void getNrIconTypeResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, int nrIconType);
+  oneway void getNrModeResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, int nrMode);
+  oneway void getPreferredNetworkListResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, in vendor.samsung.hardware.radio.network.SehPreferredNetworkInfo[] infos);
+  oneway void getRoamingNetworkInfoViaBLEResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, in vendor.samsung.hardware.radio.network.SehRoamingNetworkInfo[] networkInfo);
+  oneway void getVendorSpecificConfigurationResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, in vendor.samsung.hardware.radio.network.SehVendorConfiguration configurations);
+  oneway void selectCsgManualResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void sendEncodedUssdResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void sendRequestRawResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, in byte[] data);
+  oneway void sendRequestStringsResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info, in String[] data);
+  oneway void setCurrentNetworkInfoViaBLEResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void setDisable2gResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void setImsCallListResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void setNrModeResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void setPreferredNetworkListResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void setRoamingNetworkInfoViaBLEResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void setScanResultViaBLEResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+  oneway void setVendorSpecificConfigurationResponse(in vendor.samsung.hardware.radio.network.SehRadioResponseInfo info);
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehArfcnInfo.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehArfcnInfo.aidl
new file mode 100644 (file)
index 0000000..70a4f29
--- /dev/null
@@ -0,0 +1,25 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehArfcnInfo {
+  byte rat;
+  int band;
+  int arfcn;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehCallDetails.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehCallDetails.aidl
new file mode 100644 (file)
index 0000000..6eccfaf
--- /dev/null
@@ -0,0 +1,24 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehCallDetails {
+  int callType;
+  String[] extras;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehCsgInfo.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehCsgInfo.aidl
new file mode 100644 (file)
index 0000000..3202736
--- /dev/null
@@ -0,0 +1,28 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehCsgInfo {
+  int csgId;
+  String name;
+  String plmn;
+  int rat;
+  int category;
+  int signalStrength;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehEriInfo.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehEriInfo.aidl
new file mode 100644 (file)
index 0000000..e2914a6
--- /dev/null
@@ -0,0 +1,26 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehEriInfo {
+  String eriText;
+  byte roamingIndicator;
+  byte iconIndex;
+  byte iconMode;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehExtendedRegStateResult.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehExtendedRegStateResult.aidl
new file mode 100644 (file)
index 0000000..107250a
--- /dev/null
@@ -0,0 +1,30 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehExtendedRegStateResult {
+  int unprocessedDataRegState;
+  int unprocessedVoiceRegState;
+  boolean isValid;
+  int snapshotStatus;
+  int unprocessedDataRat;
+  int mobileOptionalRat;
+  int imsEmergencyCallBarring;
+  boolean isPsOnlyReg;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehOperatorInfo.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehOperatorInfo.aidl
new file mode 100644 (file)
index 0000000..a9620ab
--- /dev/null
@@ -0,0 +1,28 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehOperatorInfo {
+  String alphaLong;
+  String alphaShort;
+  String operatorNumeric;
+  int status;
+  String rat;
+  String lac;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehPreferredNetworkInfo.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehPreferredNetworkInfo.aidl
new file mode 100644 (file)
index 0000000..0147d64
--- /dev/null
@@ -0,0 +1,29 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehPreferredNetworkInfo {
+  int index;
+  String oper;
+  String plmn;
+  int gsmAct;
+  int gsmCompactAct;
+  int utranAct;
+  int mode;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehRadioResponseInfo.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehRadioResponseInfo.aidl
new file mode 100644 (file)
index 0000000..9309709
--- /dev/null
@@ -0,0 +1,25 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehRadioResponseInfo {
+  int error;
+  int serial;
+  int type;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehRoamingNetworkInfo.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehRoamingNetworkInfo.aidl
new file mode 100644 (file)
index 0000000..6bd88c5
--- /dev/null
@@ -0,0 +1,28 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehRoamingNetworkInfo {
+  byte[] plmn;
+  byte rat;
+  byte regState;
+  byte opResult;
+  byte[] date;
+  vendor.samsung.hardware.radio.network.SehArfcnInfo[] arfcnInfo;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehSignalBar.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehSignalBar.aidl
new file mode 100644 (file)
index 0000000..fbdb349
--- /dev/null
@@ -0,0 +1,29 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehSignalBar {
+  int cdmaLevel;
+  int evdoLevel;
+  int gsmLevel;
+  int wcdmaLevel;
+  int tdscdmaLevel;
+  int lteLevel;
+  int nrLevel;
+}
diff --git a/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehVendorConfiguration.aidl b/interfaces/radio/network/aidl/aidl_api/vendor.samsung.hardware.radio.network/current/vendor/samsung/hardware/radio/network/SehVendorConfiguration.aidl
new file mode 100644 (file)
index 0000000..1216dcf
--- /dev/null
@@ -0,0 +1,24 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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.samsung.hardware.radio.network;
+@VintfStability
+parcelable SehVendorConfiguration {
+  String name;
+  String value;
+}
diff --git a/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/ISehRadioNetwork.aidl b/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/ISehRadioNetwork.aidl
new file mode 100644 (file)
index 0000000..360a913
--- /dev/null
@@ -0,0 +1,33 @@
+package vendor.samsung.hardware.radio.network;
+
+import vendor.samsung.hardware.radio.network.ISehRadioNetworkResponse;
+import vendor.samsung.hardware.radio.network.ISehRadioNetworkIndication;
+import vendor.samsung.hardware.radio.network.SehVendorConfiguration;
+
+@VintfStability
+interface ISehRadioNetwork {
+    oneway void emergencyControl();
+    oneway void emergencySearch();
+    oneway void getAvailableNetworks();
+    oneway void getCnap();
+    oneway void getCsgList();
+    oneway void getDisable2g();
+    oneway void getNrIconType();
+    oneway void getNrMode();
+    oneway void getPreferredNetworkList();
+    oneway void getRoamingNetworkInfoViaBLE();
+    oneway void getVendorSpecificConfiguration();
+    oneway void selectCsgManual();
+    oneway void sendEncodedUssd();
+    oneway void sendRequestRaw();
+    oneway void sendRequestStrings();
+    oneway void setCurrentNetworkInfoViaBLE();
+    oneway void setDisable2g();
+    oneway void setImsCallList();
+    oneway void setNrMode(int serial, int mode, boolean force);
+    oneway void setPreferredNetworkList();
+    oneway void setResponseFunctions(in ISehRadioNetworkResponse response, in ISehRadioNetworkIndication indication);
+    oneway void setRoamingNetworkInfoViaBLE();
+    oneway void setScanResultViaBLE();
+    oneway void setVendorSpecificConfiguration(int serial, in SehVendorConfiguration[] configurations);
+}
diff --git a/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/ISehRadioNetworkIndication.aidl b/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/ISehRadioNetworkIndication.aidl
new file mode 100644 (file)
index 0000000..8125415
--- /dev/null
@@ -0,0 +1,25 @@
+package vendor.samsung.hardware.radio.network;
+
+import vendor.samsung.hardware.radio.network.SehCallDetails;
+import vendor.samsung.hardware.radio.network.SehEriInfo;
+import vendor.samsung.hardware.radio.network.SehExtendedRegStateResult;
+import vendor.samsung.hardware.radio.network.SehSignalBar;
+import vendor.samsung.hardware.radio.network.SehVendorConfiguration;
+
+@VintfStability
+interface ISehRadioNetworkIndication {
+    oneway void acbInfo(int type, in int[] acbInfo);
+    oneway void callDetailsChanged(int type, in SehCallDetails[] callDetails);
+    oneway void csFallback(int type, int state);
+    oneway void currentNetworkScanIsrequested(int type, byte mode);
+    oneway void eriInfoReceived(int type, in SehEriInfo eriInfo);
+    oneway void execute(int type, String cmd);
+    oneway void extendedRegistrationState(int type, in SehExtendedRegStateResult state);
+    oneway void imsPreferenceChanged(int type, in int[] imsPref);
+    oneway void needTurnOnRadioIndication(int type);
+    oneway void nrBearerAllocationChanged(int type, int status);
+    oneway void nrIconTypeChanged(int type, int nrIconType);
+    oneway void roamingNetworkScanIsRequested(int type, in byte[] scanData);
+    oneway void signalLevelInfoChanged(int type, in SehSignalBar signalBarInfo);
+    oneway void vendorConfigurationChanged(int type, in SehVendorConfiguration[] configurations);
+}
diff --git a/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/ISehRadioNetworkResponse.aidl b/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/ISehRadioNetworkResponse.aidl
new file mode 100644 (file)
index 0000000..e3eede0
--- /dev/null
@@ -0,0 +1,40 @@
+package vendor.samsung.hardware.radio.network;
+
+import vendor.samsung.hardware.radio.network.SehCallDetails;
+import vendor.samsung.hardware.radio.network.SehEriInfo;
+import vendor.samsung.hardware.radio.network.SehExtendedRegStateResult;
+import vendor.samsung.hardware.radio.network.SehSignalBar;
+import vendor.samsung.hardware.radio.network.SehVendorConfiguration;
+import vendor.samsung.hardware.radio.network.SehRadioResponseInfo;
+import vendor.samsung.hardware.radio.network.SehOperatorInfo;
+import vendor.samsung.hardware.radio.network.SehCsgInfo;
+import vendor.samsung.hardware.radio.network.SehPreferredNetworkInfo;
+import vendor.samsung.hardware.radio.network.SehRoamingNetworkInfo;
+
+@VintfStability
+interface ISehRadioNetworkResponse {
+    oneway void emergencyControlResponse(in SehRadioResponseInfo info);
+    oneway void emergencySearchResponse(in SehRadioResponseInfo info, int respEmergenySearch);
+    oneway void getAvailableNetworksResponse(in SehRadioResponseInfo info, in SehOperatorInfo[] networksInfo);
+    oneway void getCnapResponse(in SehRadioResponseInfo info, int m);
+    oneway void getCsgListResponse(in SehRadioResponseInfo info, in SehCsgInfo[] csgInfos);
+    oneway void getDisable2gResponse(in SehRadioResponseInfo info, int isDisable);
+    oneway void getNrIconTypeResponse(in SehRadioResponseInfo info, int nrIconType);
+    oneway void getNrModeResponse(in SehRadioResponseInfo info, int nrMode);
+    oneway void getPreferredNetworkListResponse(in SehRadioResponseInfo info, in SehPreferredNetworkInfo[] infos);
+    oneway void getRoamingNetworkInfoViaBLEResponse(in SehRadioResponseInfo info, in SehRoamingNetworkInfo[] networkInfo);
+    oneway void getVendorSpecificConfigurationResponse(in SehRadioResponseInfo info, in SehVendorConfiguration configurations);
+    oneway void selectCsgManualResponse(in SehRadioResponseInfo info);
+    oneway void sendEncodedUssdResponse(in SehRadioResponseInfo info);
+    oneway void sendRequestRawResponse(in SehRadioResponseInfo info, in byte[] data);
+    oneway void sendRequestStringsResponse(in SehRadioResponseInfo info, in String[] data);
+    oneway void setCurrentNetworkInfoViaBLEResponse(in SehRadioResponseInfo info);
+    oneway void setDisable2gResponse(in SehRadioResponseInfo info);
+    oneway void setImsCallListResponse(in SehRadioResponseInfo info);
+    oneway void setNrModeResponse(in SehRadioResponseInfo info);
+    oneway void setPreferredNetworkListResponse(in SehRadioResponseInfo info);
+    oneway void setRoamingNetworkInfoViaBLEResponse(in SehRadioResponseInfo info);
+    oneway void setScanResultViaBLEResponse(in SehRadioResponseInfo info);
+    oneway void setVendorSpecificConfigurationResponse(in SehRadioResponseInfo info);
+
+}
diff --git a/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehArfcnInfo.aidl b/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehArfcnInfo.aidl
new file mode 100644 (file)
index 0000000..a697ee6
--- /dev/null
@@ -0,0 +1,10 @@
+package vendor.samsung.hardware.radio.network;
+
+import vendor.samsung.hardware.radio.network.SehArfcnInfo;
+
+@VintfStability
+parcelable SehArfcnInfo {
+byte rat;
+int band;
+int arfcn;
+}
diff --git a/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehCallDetails.aidl b/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehCallDetails.aidl
new file mode 100644 (file)
index 0000000..ba829fd
--- /dev/null
@@ -0,0 +1,7 @@
+package vendor.samsung.hardware.radio.network;
+
+@VintfStability
+parcelable SehCallDetails {
+    int callType;
+    String[] extras;
+}
diff --git a/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehCsgInfo.aidl b/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehCsgInfo.aidl
new file mode 100644 (file)
index 0000000..e24249c
--- /dev/null
@@ -0,0 +1,11 @@
+package vendor.samsung.hardware.radio.network;
+
+@VintfStability
+parcelable SehCsgInfo {
+int csgId;
+String name;
+String plmn;
+int rat;
+int category;
+int signalStrength;
+}
diff --git a/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehEriInfo.aidl b/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehEriInfo.aidl
new file mode 100644 (file)
index 0000000..e538cb1
--- /dev/null
@@ -0,0 +1,9 @@
+package vendor.samsung.hardware.radio.network;
+
+@VintfStability
+parcelable SehEriInfo {
+String eriText;
+byte roamingIndicator;
+byte iconIndex;
+byte iconMode;
+}
diff --git a/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehExtendedRegStateResult.aidl b/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehExtendedRegStateResult.aidl
new file mode 100644 (file)
index 0000000..fbf0521
--- /dev/null
@@ -0,0 +1,13 @@
+package vendor.samsung.hardware.radio.network;
+
+@VintfStability
+parcelable SehExtendedRegStateResult {
+    int unprocessedDataRegState;
+    int unprocessedVoiceRegState;
+    boolean isValid;
+    int snapshotStatus;
+    int unprocessedDataRat;
+    int mobileOptionalRat;
+    int imsEmergencyCallBarring;
+    boolean isPsOnlyReg;
+}
diff --git a/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehOperatorInfo.aidl b/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehOperatorInfo.aidl
new file mode 100644 (file)
index 0000000..9bc4d72
--- /dev/null
@@ -0,0 +1,11 @@
+package vendor.samsung.hardware.radio.network;
+
+@VintfStability
+parcelable SehOperatorInfo {
+String alphaLong;
+String alphaShort;
+String operatorNumeric;
+int status;
+String rat;
+String lac;
+}
diff --git a/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehPreferredNetworkInfo.aidl b/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehPreferredNetworkInfo.aidl
new file mode 100644 (file)
index 0000000..69dc8b6
--- /dev/null
@@ -0,0 +1,12 @@
+package vendor.samsung.hardware.radio.network;
+
+@VintfStability
+parcelable SehPreferredNetworkInfo {
+int index;
+String oper;
+String plmn;
+int gsmAct;
+int gsmCompactAct;
+int utranAct;
+int mode;
+}
diff --git a/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehRadioResponseInfo.aidl b/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehRadioResponseInfo.aidl
new file mode 100644 (file)
index 0000000..77fa860
--- /dev/null
@@ -0,0 +1,8 @@
+package vendor.samsung.hardware.radio.network;
+
+@VintfStability
+parcelable SehRadioResponseInfo {
+    int error;
+    int serial;
+    int type;
+}
diff --git a/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehRoamingNetworkInfo.aidl b/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehRoamingNetworkInfo.aidl
new file mode 100644 (file)
index 0000000..ff91e80
--- /dev/null
@@ -0,0 +1,13 @@
+package vendor.samsung.hardware.radio.network;
+
+import vendor.samsung.hardware.radio.network.SehArfcnInfo;
+
+@VintfStability
+parcelable SehRoamingNetworkInfo {
+byte[] plmn;
+byte rat;
+byte regState;
+byte opResult;
+byte[] date;
+SehArfcnInfo[] arfcnInfo;
+}
diff --git a/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehSignalBar.aidl b/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehSignalBar.aidl
new file mode 100644 (file)
index 0000000..e6ca976
--- /dev/null
@@ -0,0 +1,12 @@
+package vendor.samsung.hardware.radio.network;
+
+@VintfStability
+parcelable SehSignalBar {
+    int cdmaLevel;
+    int evdoLevel;
+    int gsmLevel;
+    int wcdmaLevel;
+    int tdscdmaLevel;
+    int lteLevel;
+    int nrLevel;
+}
diff --git a/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehVendorConfiguration.aidl b/interfaces/radio/network/aidl/vendor/samsung/hardware/radio/network/SehVendorConfiguration.aidl
new file mode 100644 (file)
index 0000000..b0ac6d0
--- /dev/null
@@ -0,0 +1,7 @@
+package vendor.samsung.hardware.radio.network;
+
+@VintfStability
+parcelable SehVendorConfiguration {
+    String name;
+    String value;
+}
index 8ff0de299be7b61ec1f9fdb68dee135c518262d5..0a974f549ebdbde74a4ad7f54011a7752f1e164c 100644 (file)
@@ -9,19 +9,23 @@ cc_binary {
     vendor: true,
     relative_install_path: "hw",
     srcs: [
-        "SehRadioIndication.cpp",
-        "SehRadioResponse.cpp",
+        "aidl/SehRadioNetworkIndication.cpp",
+        "aidl/SehRadioNetworkResponse.cpp",
+        "hidl/SehRadioIndication.cpp",
+        "hidl/SehRadioResponse.cpp",
         "sehradiomanager.cpp",
     ],
     init_rc: ["sehradiomanager.rc"],
     shared_libs: [
         "libbase",
         "libbinder",
+        "libbinder_ndk",
         "libhidlbase",
         "libutils",
         "vendor.samsung.hardware.radio@2.0",
         "vendor.samsung.hardware.radio@2.1",
         "vendor.samsung.hardware.radio@2.2",
+        "vendor.samsung.hardware.radio.network-V1-ndk",
     ],
     cflags: ["-Wno-unused-parameter"],
 }
diff --git a/ril/sehradiomanager/SehRadioIndication.cpp b/ril/sehradiomanager/SehRadioIndication.cpp
deleted file mode 100644 (file)
index 5be32d6..0000000
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Copyright (C) 2024 The LineageOS Project
- *
- * SPDX-License-Identifier: Apache-2.0
- */
-
-#define LOG_TAG "SehRadioIndication"
-
-//#define DEBUG
-
-#include "SehRadioIndication.h"
-
-#include <android-base/logging.h>
-
-namespace vendor {
-namespace samsung {
-namespace hardware {
-namespace radio {
-namespace V2_2 {
-namespace implementation {
-
-using ::android::hardware::Void;
-
-void l(std::string line) {
-#ifdef DEBUG
-    LOG(INFO) << line;
-#endif
-}
-
-Return<void> SehRadioIndication::acbInfoChanged(int32_t type, const hidl_vec<int32_t>& acbInfo) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::csFallback(int32_t type, int32_t state) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::imsPreferenceChanged(int32_t type,
-                                                      const hidl_vec<int32_t>& imsPref) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::voiceRadioBearerHandoverStatusChanged(int32_t type,
-                                                                       int32_t state) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::timerStatusChangedInd(int32_t type,
-                                                       const hidl_vec<int32_t>& eventNoti) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::modemCapabilityIndication(int32_t type,
-                                                           const hidl_vec<int8_t>& data) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::needTurnOnRadioIndication(int32_t type) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::simPhonebookReadyIndication(int32_t type) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::phonebookInitCompleteIndication(int32_t type) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::deviceReadyNoti(int32_t type) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::stkSmsSendResultIndication(int32_t type, int32_t result) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::stkCallControlResultIndication(int32_t type,
-                                                                const hidl_string& cmd) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::simSwapStateChangedIndication(int32_t type, int32_t state) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::simCountMismatchedIndication(int32_t type, int32_t state) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::simOnOffStateChangedNotify(int32_t type, int32_t mode) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::releaseCompleteMessageIndication(
-        int32_t type, const V2_0::SehSsReleaseComplete& result) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::sapNotify(int32_t type, const hidl_vec<int8_t>& data) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::nrBearerAllocationChanged(int32_t type, int32_t status) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::nrNetworkTypeAdded(int32_t type, int32_t status) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::rrcStateChanged(int32_t type, const V2_0::SehRrcStateInfo& state) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::configModemCapabilityChangeNoti(
-        int32_t type, const V2_0::SehConfigModemCapability& configModemCapa) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::needApnProfileIndication(const hidl_string& select) {
-    l(__func__);
-    return Void();
-}
-
-Return<int32_t> SehRadioIndication::needSettingValueIndication(const hidl_string& key,
-                                                               const hidl_string& table) {
-    l(__func__);
-    return -1;
-}
-
-Return<void> SehRadioIndication::execute(int32_t type, const hidl_string& cmd) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::signalLevelInfoChanged(int32_t type,
-                                                        const V2_0::SehSignalBar& signalBarInfo) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::extendedRegistrationState(
-        int32_t type, const V2_0::SehExtendedRegStateResult& state) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::needPacketUsage(const hidl_string& iface,
-                                                 needPacketUsage_cb hidl_cb) {
-    V2_0::SehPacketUsage usage;
-    hidl_cb(0, usage);
-    return Void();
-}
-
-Return<void> SehRadioIndication::nrIconTypeChanged(uint32_t type, uint32_t nrIconType) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::callDetailsChanged(
-        uint32_t type, const hidl_vec<V2_0::SehCallDetails>& callDetails) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::vendorConfigurationChanged(
-        uint32_t type, const hidl_vec<SehVendorConfiguration>& configurations) {
-    l(__func__);
-    return Void();
-}
-
-Return<void> SehRadioIndication::eriInfoReceived(uint32_t type, const SehEriInfo& eriInfo) {
-    l(__func__);
-    return Void();
-}
-
-}  // namespace implementation
-}  // namespace V2_2
-}  // namespace radio
-}  // namespace hardware
-}  // namespace samsung
-}  // namespace vendor
diff --git a/ril/sehradiomanager/SehRadioIndication.h b/ril/sehradiomanager/SehRadioIndication.h
deleted file mode 100644 (file)
index b0fe8a3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2024 The LineageOS Project
- *
- * SPDX-License-Identifier: Apache-2.0
- */
-
-#pragma once
-
-#include <vendor/samsung/hardware/radio/2.2/ISehRadioIndication.h>
-#include <vendor/samsung/hardware/radio/2.2/types.h>
-
-namespace vendor {
-namespace samsung {
-namespace hardware {
-namespace radio {
-namespace V2_2 {
-namespace implementation {
-
-using ::android::hardware::hidl_string;
-using ::android::hardware::hidl_vec;
-using ::android::hardware::Return;
-
-class SehRadioIndication : public ISehRadioIndication {
-  public:
-    Return<void> acbInfoChanged(int32_t type, const hidl_vec<int32_t>& acbInfo) override;
-    Return<void> csFallback(int32_t type, int32_t state) override;
-    Return<void> imsPreferenceChanged(int32_t type, const hidl_vec<int32_t>& imsPref) override;
-    Return<void> voiceRadioBearerHandoverStatusChanged(int32_t type, int32_t state) override;
-    Return<void> timerStatusChangedInd(int32_t type, const hidl_vec<int32_t>& eventNoti) override;
-    Return<void> modemCapabilityIndication(int32_t type, const hidl_vec<int8_t>& data) override;
-    Return<void> needTurnOnRadioIndication(int32_t type) override;
-    Return<void> simPhonebookReadyIndication(int32_t type) override;
-    Return<void> phonebookInitCompleteIndication(int32_t type) override;
-    Return<void> deviceReadyNoti(int32_t type) override;
-    Return<void> stkSmsSendResultIndication(int32_t type, int32_t result) override;
-    Return<void> stkCallControlResultIndication(int32_t type, const hidl_string& cmd) override;
-    Return<void> simSwapStateChangedIndication(int32_t type, int32_t state) override;
-    Return<void> simCountMismatchedIndication(int32_t type, int32_t state) override;
-    Return<void> simOnOffStateChangedNotify(int32_t type, int32_t mode) override;
-    Return<void> releaseCompleteMessageIndication(
-            int32_t type, const V2_0::SehSsReleaseComplete& result) override;
-    Return<void> sapNotify(int32_t type, const hidl_vec<int8_t>& data) override;
-    Return<void> nrBearerAllocationChanged(int32_t type, int32_t status) override;
-    Return<void> nrNetworkTypeAdded(int32_t type, int32_t status) override;
-    Return<void> rrcStateChanged(int32_t type, const V2_0::SehRrcStateInfo& state) override;
-    Return<void> configModemCapabilityChangeNoti(
-            int32_t type, const V2_0::SehConfigModemCapability& configModemCapa) override;
-    Return<void> needApnProfileIndication(const hidl_string& select) override;
-    Return<int32_t> needSettingValueIndication(const hidl_string& key,
-                                               const hidl_string& table) override;
-    Return<void> execute(int32_t type, const hidl_string& cmd) override;
-    Return<void> signalLevelInfoChanged(int32_t type,
-                                        const V2_0::SehSignalBar& signalBarInfo) override;
-    Return<void> extendedRegistrationState(int32_t type,
-                                           const V2_0::SehExtendedRegStateResult& state) override;
-    Return<void> needPacketUsage(const hidl_string& iface, needPacketUsage_cb hidl_cb) override;
-    Return<void> nrIconTypeChanged(uint32_t type, uint32_t nrIconType) override;
-    Return<void> callDetailsChanged(uint32_t type,
-                                    const hidl_vec<V2_0::SehCallDetails>& callDetails) override;
-    Return<void> vendorConfigurationChanged(
-            uint32_t type, const hidl_vec<SehVendorConfiguration>& configurations) override;
-    Return<void> eriInfoReceived(uint32_t type, const SehEriInfo& eriInfo) override;
-};
-
-}  // namespace implementation
-}  // namespace V2_2
-}  // namespace radio
-}  // namespace hardware
-}  // namespace samsung
-}  // namespace vendor
diff --git a/ril/sehradiomanager/SehRadioResponse.cpp b/ril/sehradiomanager/SehRadioResponse.cpp
deleted file mode 100644 (file)
index c95eca1..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Copyright (C) 2024 The LineageOS Project
- *
- * SPDX-License-Identifier: Apache-2.0
- */
-
-#define LOG_TAG "SehRadioResponse"
-
-#include "SehRadioResponse.h"
-
-namespace vendor {
-namespace samsung {
-namespace hardware {
-namespace radio {
-namespace V2_2 {
-namespace implementation {
-
-using ::android::hardware::Void;
-
-Return<void> SehRadioResponse::getIccCardStatusResponse() {
-    return Void();
-}
-
-Return<void> SehRadioResponse::supplyNetworkDepersonalizationResponse(
-        const RadioResponseInfo& info) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::dialResponse(const RadioResponseInfo& info) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::getCurrentCallsResponse() {
-    return Void();
-}
-
-Return<void> SehRadioResponse::getImsRegistrationStateResponse() {
-    return Void();
-}
-
-Return<void> SehRadioResponse::setImsCallListResponse(const RadioResponseInfo& info) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::getPreferredNetworkListResponse() {
-    return Void();
-}
-
-Return<void> SehRadioResponse::setPreferredNetworkListResponse(const RadioResponseInfo& info) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::sendEncodedUssdResponse(const RadioResponseInfo& info) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::getDisable2gResponse(const RadioResponseInfo& info,
-                                                    int32_t isDisable) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::setDisable2gResponse(const RadioResponseInfo& info) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::getCnapResponse(const RadioResponseInfo& info, int32_t m) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::getPhonebookStorageInfoResponse() {
-    return Void();
-}
-
-Return<void> SehRadioResponse::getUsimPhonebookCapabilityResponse(
-        const RadioResponseInfo& info, const hidl_vec<int32_t>& phonebookCapability) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::setSimOnOffResponse(const RadioResponseInfo& info) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::setSimInitEventResponse(const RadioResponseInfo& info) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::getSimLockInfoResponse() {
-    return Void();
-}
-
-Return<void> SehRadioResponse::supplyIccPersonalizationResponse(const RadioResponseInfo& info) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::changeIccPersonalizationResponse(const RadioResponseInfo& info) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::getPhonebookEntryResponse() {
-    return Void();
-}
-
-Return<void> SehRadioResponse::accessPhonebookEntryResponse(const RadioResponseInfo& info,
-                                                            int32_t simPhonebookAccessResp) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::getCellBroadcastConfigResponse() {
-    return Void();
-}
-
-Return<void> SehRadioResponse::emergencySearchResponse(const RadioResponseInfo& info,
-                                                       int32_t respEmergencySearch) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::emergencyControlResponse(const RadioResponseInfo& info) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::getAtrResponse(const RadioResponseInfo& info,
-                                              const hidl_string& atr) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::sendCdmaSmsExpectMoreResponse() {
-    return Void();
-}
-
-Return<void> SehRadioResponse::sendSmsResponse() {
-    return Void();
-}
-
-Return<void> SehRadioResponse::sendSMSExpectMoreResponse() {
-    return Void();
-}
-
-Return<void> SehRadioResponse::sendCdmaSmsResponse() {
-    return Void();
-}
-
-Return<void> SehRadioResponse::sendImsSmsResponse() {
-    return Void();
-}
-
-Return<void> SehRadioResponse::getStoredMsgCountFromSimResponse() {
-    return Void();
-}
-
-Return<void> SehRadioResponse::readSmsFromSimResponse() {
-    return Void();
-}
-
-Return<void> SehRadioResponse::writeSmsToSimResponse(const RadioResponseInfo& info, int32_t index) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::setDataAllowedResponse(const RadioResponseInfo& info) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::getCsgListResponse() {
-    return Void();
-}
-
-Return<void> SehRadioResponse::selectCsgManualResponse(const RadioResponseInfo& info) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::setMobileDataSettingResponse(const RadioResponseInfo& info) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::sendRequestRawResponse(const RadioResponseInfo& info,
-                                                      const hidl_vec<int8_t>& data) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::sendRequestStringsResponse(const RadioResponseInfo& info,
-                                                          const hidl_vec<hidl_string>& data) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::setNrModeResponse(const RadioResponseInfo& info) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::getNrModeResponse(const RadioResponseInfo& info, uint32_t nrMode) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::getNrIconResponse(const RadioResponseInfo& info,
-                                                 uint32_t nrIconType) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::getIccCardStatusResponse_2_1(const RadioResponseInfo& info,
-                                                            const V2_1::SehCardStatus& cardStatus) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::setNrModeResponse_2_2(const RadioResponseInfo& info) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::getVendorSpecificConfigurationResponse(
-        const RadioResponseInfo& info, const hidl_vec<SehVendorConfiguration>& configurations) {
-    return Void();
-}
-
-Return<void> SehRadioResponse::setVendorSpecificConfigurationResponse(
-        const RadioResponseInfo& info) {
-    return Void();
-}
-
-}  // namespace implementation
-}  // namespace V2_2
-}  // namespace radio
-}  // namespace hardware
-}  // namespace samsung
-}  // namespace vendor
diff --git a/ril/sehradiomanager/SehRadioResponse.h b/ril/sehradiomanager/SehRadioResponse.h
deleted file mode 100644 (file)
index 476a8f2..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2024 The LineageOS Project
- *
- * SPDX-License-Identifier: Apache-2.0
- */
-
-#pragma once
-
-#include <vendor/samsung/hardware/radio/2.2/ISehRadioResponse.h>
-#include <vendor/samsung/hardware/radio/2.2/types.h>
-
-namespace vendor {
-namespace samsung {
-namespace hardware {
-namespace radio {
-namespace V2_2 {
-namespace implementation {
-
-using ::android::hardware::hidl_string;
-using ::android::hardware::hidl_vec;
-using ::android::hardware::Return;
-using ::android::hardware::radio::V1_0::RadioResponseInfo;
-
-class SehRadioResponse : public ISehRadioResponse {
-  public:
-    Return<void> getIccCardStatusResponse() override;
-    Return<void> supplyNetworkDepersonalizationResponse(const RadioResponseInfo& info) override;
-    Return<void> dialResponse(const RadioResponseInfo& info) override;
-    Return<void> getCurrentCallsResponse() override;
-    Return<void> getImsRegistrationStateResponse() override;
-    Return<void> setImsCallListResponse(const RadioResponseInfo& info) override;
-    Return<void> getPreferredNetworkListResponse() override;
-    Return<void> setPreferredNetworkListResponse(const RadioResponseInfo& info) override;
-    Return<void> sendEncodedUssdResponse(const RadioResponseInfo& info) override;
-    Return<void> getDisable2gResponse(const RadioResponseInfo& info, int32_t isDisable) override;
-    Return<void> setDisable2gResponse(const RadioResponseInfo& info) override;
-    Return<void> getCnapResponse(const RadioResponseInfo& info, int32_t m) override;
-    Return<void> getPhonebookStorageInfoResponse() override;
-    Return<void> getUsimPhonebookCapabilityResponse(
-            const RadioResponseInfo& info, const hidl_vec<int32_t>& phonebookCapability) override;
-    Return<void> setSimOnOffResponse(const RadioResponseInfo& info) override;
-    Return<void> setSimInitEventResponse(const RadioResponseInfo& info) override;
-    Return<void> getSimLockInfoResponse() override;
-    Return<void> supplyIccPersonalizationResponse(const RadioResponseInfo& info) override;
-    Return<void> changeIccPersonalizationResponse(const RadioResponseInfo& info) override;
-    Return<void> getPhonebookEntryResponse() override;
-    Return<void> accessPhonebookEntryResponse(const RadioResponseInfo& info,
-                                              int32_t simPhonebookAccessResp) override;
-    Return<void> getCellBroadcastConfigResponse() override;
-    Return<void> emergencySearchResponse(const RadioResponseInfo& info,
-                                         int32_t respEmergencySearch) override;
-    Return<void> emergencyControlResponse(const RadioResponseInfo& info) override;
-    Return<void> getAtrResponse(const RadioResponseInfo& info, const hidl_string& atr) override;
-    Return<void> sendCdmaSmsExpectMoreResponse() override;
-    Return<void> sendSmsResponse() override;
-    Return<void> sendSMSExpectMoreResponse() override;
-    Return<void> sendCdmaSmsResponse() override;
-    Return<void> sendImsSmsResponse() override;
-    Return<void> getStoredMsgCountFromSimResponse() override;
-    Return<void> readSmsFromSimResponse() override;
-    Return<void> writeSmsToSimResponse(const RadioResponseInfo& info, int32_t index) override;
-    Return<void> setDataAllowedResponse(const RadioResponseInfo& info) override;
-    Return<void> getCsgListResponse() override;
-    Return<void> selectCsgManualResponse(const RadioResponseInfo& info) override;
-    Return<void> setMobileDataSettingResponse(const RadioResponseInfo& info) override;
-    Return<void> sendRequestRawResponse(const RadioResponseInfo& info,
-                                        const hidl_vec<int8_t>& data) override;
-    Return<void> sendRequestStringsResponse(const RadioResponseInfo& info,
-                                            const hidl_vec<hidl_string>& data) override;
-    Return<void> setNrModeResponse(const RadioResponseInfo& info) override;
-    Return<void> getNrModeResponse(const RadioResponseInfo& info, uint32_t nrMode) override;
-    Return<void> getNrIconResponse(const RadioResponseInfo& info, uint32_t nrIconType) override;
-    Return<void> getIccCardStatusResponse_2_1(const RadioResponseInfo& info,
-                                              const V2_1::SehCardStatus& cardStatus) override;
-    Return<void> setNrModeResponse_2_2(const RadioResponseInfo& info) override;
-    Return<void> getVendorSpecificConfigurationResponse(
-            const RadioResponseInfo& info,
-            const hidl_vec<SehVendorConfiguration>& configurations) override;
-    Return<void> setVendorSpecificConfigurationResponse(const RadioResponseInfo& info) override;
-};
-
-}  // namespace implementation
-}  // namespace V2_2
-}  // namespace radio
-}  // namespace hardware
-}  // namespace samsung
-}  // namespace vendor
diff --git a/ril/sehradiomanager/aidl/SehRadioNetworkIndication.cpp b/ril/sehradiomanager/aidl/SehRadioNetworkIndication.cpp
new file mode 100644 (file)
index 0000000..62f1b30
--- /dev/null
@@ -0,0 +1,115 @@
+/*
+ * Copyright (C) 2024 The LineageOS Project
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#define LOG_TAG "SehRadioNetworkIndication"
+
+//#define DEBUG
+
+#include "SehRadioNetworkIndication.h"
+
+#include <android-base/logging.h>
+
+namespace aidl {
+namespace vendor {
+namespace samsung {
+namespace hardware {
+namespace radio {
+namespace network {
+namespace implementation {
+
+void l(std::string line) {
+#ifdef DEBUG
+    LOG(INFO) << line;
+#endif
+}
+
+ndk::ScopedAStatus SehRadioNetworkIndication::acbInfo(int32_t type,
+                                                      const std::vector<int32_t>& acbInfo) {
+    l(__func__);
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkIndication::callDetailsChanged(
+        int32_t type, const std::vector<SehCallDetails>& callDetails) {
+    l(__func__);
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkIndication::csFallback(int32_t type, int32_t state) {
+    l(__func__);
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkIndication::currentNetworkScanIsrequested(int32_t type,
+                                                                            int8_t mode) {
+    l(__func__);
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkIndication::eriInfoReceived(int32_t type,
+                                                              const SehEriInfo& eriInfo) {
+    l(__func__);
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkIndication::execute(int32_t type, const std::string& cmd) {
+    l(__func__);
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkIndication::extendedRegistrationState(
+        int32_t type, const SehExtendedRegStateResult& state) {
+    l(__func__);
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkIndication::imsPreferenceChanged(
+        int32_t type, const std::vector<int32_t>& imsPref) {
+    l(__func__);
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkIndication::needTurnOnRadioIndication(int32_t type) {
+    l(__func__);
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkIndication::nrBearerAllocationChanged(int32_t type,
+                                                                        int32_t status) {
+    l(__func__);
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkIndication::nrIconTypeChanged(int32_t type, int32_t nrIconType) {
+    l(__func__);
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkIndication::roamingNetworkScanIsRequested(
+        int32_t type, const std::vector<uint8_t>& scanData) {
+    l(__func__);
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkIndication::signalLevelInfoChanged(
+        int32_t type, const SehSignalBar& signalBarInfo) {
+    l(__func__);
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkIndication::vendorConfigurationChanged(
+        int32_t type, const std::vector<SehVendorConfiguration>& configurations) {
+    l(__func__);
+    return ndk::ScopedAStatus::ok();
+}
+
+}  // namespace implementation
+}  // namespace network
+}  // namespace radio
+}  // namespace hardware
+}  // namespace samsung
+}  // namespace vendor
+}  // namespace aidl
diff --git a/ril/sehradiomanager/aidl/SehRadioNetworkIndication.h b/ril/sehradiomanager/aidl/SehRadioNetworkIndication.h
new file mode 100644 (file)
index 0000000..5140db9
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2024 The LineageOS Project
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#pragma once
+
+#include <aidl/vendor/samsung/hardware/radio/network/BnSehRadioNetworkIndication.h>
+
+namespace aidl {
+namespace vendor {
+namespace samsung {
+namespace hardware {
+namespace radio {
+namespace network {
+namespace implementation {
+
+class SehRadioNetworkIndication : public BnSehRadioNetworkIndication {
+  public:
+    ndk::ScopedAStatus acbInfo(int32_t type, const std::vector<int32_t>& acbInfo) override;
+    ndk::ScopedAStatus callDetailsChanged(int32_t type,
+                                          const std::vector<SehCallDetails>& callDetails) override;
+    ndk::ScopedAStatus csFallback(int32_t type, int32_t state) override;
+    ndk::ScopedAStatus currentNetworkScanIsrequested(int32_t type, int8_t mode) override;
+    ndk::ScopedAStatus eriInfoReceived(int32_t type, const SehEriInfo& eriInfo) override;
+    ndk::ScopedAStatus execute(int32_t type, const std::string& cmd) override;
+    ndk::ScopedAStatus extendedRegistrationState(int32_t type,
+                                                 const SehExtendedRegStateResult& state) override;
+    ndk::ScopedAStatus imsPreferenceChanged(int32_t type,
+                                            const std::vector<int32_t>& imsPref) override;
+    ndk::ScopedAStatus needTurnOnRadioIndication(int32_t type) override;
+    ndk::ScopedAStatus nrBearerAllocationChanged(int32_t type, int32_t status) override;
+    ndk::ScopedAStatus nrIconTypeChanged(int32_t type, int32_t nrIconType) override;
+    ndk::ScopedAStatus roamingNetworkScanIsRequested(int32_t type,
+                                                     const std::vector<uint8_t>& scanData) override;
+    ndk::ScopedAStatus signalLevelInfoChanged(int32_t type,
+                                              const SehSignalBar& signalBarInfo) override;
+    ndk::ScopedAStatus vendorConfigurationChanged(
+            int32_t type, const std::vector<SehVendorConfiguration>& configurations) override;
+};
+
+}  // namespace implementation
+}  // namespace network
+}  // namespace radio
+}  // namespace hardware
+}  // namespace samsung
+}  // namespace vendor
+}  // namespace aidl
diff --git a/ril/sehradiomanager/aidl/SehRadioNetworkResponse.cpp b/ril/sehradiomanager/aidl/SehRadioNetworkResponse.cpp
new file mode 100644 (file)
index 0000000..f934433
--- /dev/null
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2024 The LineageOS Project
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#include "SehRadioNetworkResponse.h"
+
+namespace aidl {
+namespace vendor {
+namespace samsung {
+namespace hardware {
+namespace radio {
+namespace network {
+namespace implementation {
+
+ndk::ScopedAStatus SehRadioNetworkResponse::emergencyControlResponse(
+        const SehRadioResponseInfo& info) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::emergencySearchResponse(
+        const SehRadioResponseInfo& info, int respEmergencySearch) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::getAvailableNetworksResponse(
+        const SehRadioResponseInfo& info, const std::vector<SehOperatorInfo>& networksInfo) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::getCnapResponse(const SehRadioResponseInfo& info,
+                                                            int32_t m) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::getCsgListResponse(
+        const SehRadioResponseInfo& info, const std::vector<SehCsgInfo>& csgInfos) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::getDisable2gResponse(const SehRadioResponseInfo& info,
+                                                                 int32_t isDisable) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::getNrIconTypeResponse(const SehRadioResponseInfo& info,
+                                                                  int32_t nrIconType) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::getNrModeResponse(const SehRadioResponseInfo& info,
+                                                              int32_t nrMode) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::getPreferredNetworkListResponse(
+        const SehRadioResponseInfo& info, const std::vector<SehPreferredNetworkInfo>& infos) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::getRoamingNetworkInfoViaBLEResponse(
+        const SehRadioResponseInfo& info, const std::vector<SehRoamingNetworkInfo>& networkInfo) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::getVendorSpecificConfigurationResponse(
+        const SehRadioResponseInfo& info, const SehVendorConfiguration& configurations) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::selectCsgManualResponse(
+        const SehRadioResponseInfo& info) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::sendEncodedUssdResponse(
+        const SehRadioResponseInfo& info) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::sendRequestRawResponse(
+        const SehRadioResponseInfo& info, const std::vector<uint8_t>& data) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::sendRequestStringsResponse(
+        const SehRadioResponseInfo& info, const std::vector<std::string>& data) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::setCurrentNetworkInfoViaBLEResponse(
+        const SehRadioResponseInfo& info) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::setDisable2gResponse(const SehRadioResponseInfo& info) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::setImsCallListResponse(
+        const SehRadioResponseInfo& info) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::setNrModeResponse(const SehRadioResponseInfo& info) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::setPreferredNetworkListResponse(
+        const SehRadioResponseInfo& info) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::setRoamingNetworkInfoViaBLEResponse(
+        const SehRadioResponseInfo& info) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::setScanResultViaBLEResponse(
+        const SehRadioResponseInfo& info) {
+    return ndk::ScopedAStatus::ok();
+}
+
+ndk::ScopedAStatus SehRadioNetworkResponse::setVendorSpecificConfigurationResponse(
+        const SehRadioResponseInfo& info) {
+    return ndk::ScopedAStatus::ok();
+}
+
+}  // namespace implementation
+}  // namespace network
+}  // namespace radio
+}  // namespace hardware
+}  // namespace samsung
+}  // namespace vendor
+}  // namespace aidl
diff --git a/ril/sehradiomanager/aidl/SehRadioNetworkResponse.h b/ril/sehradiomanager/aidl/SehRadioNetworkResponse.h
new file mode 100644 (file)
index 0000000..d40e1ad
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2024 The LineageOS Project
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#pragma once
+
+#include <aidl/vendor/samsung/hardware/radio/network/BnSehRadioNetworkResponse.h>
+
+namespace aidl {
+namespace vendor {
+namespace samsung {
+namespace hardware {
+namespace radio {
+namespace network {
+namespace implementation {
+
+class SehRadioNetworkResponse : public BnSehRadioNetworkResponse {
+  public:
+    ndk::ScopedAStatus emergencyControlResponse(const SehRadioResponseInfo& info) override;
+    ndk::ScopedAStatus emergencySearchResponse(const SehRadioResponseInfo& info,
+                                               int respEmergencySearch) override;
+    ndk::ScopedAStatus getAvailableNetworksResponse(
+            const SehRadioResponseInfo& info,
+            const std::vector<SehOperatorInfo>& networksInfo) override;
+    ndk::ScopedAStatus getCnapResponse(const SehRadioResponseInfo& info, int32_t m) override;
+    ndk::ScopedAStatus getCsgListResponse(const SehRadioResponseInfo& info,
+                                          const std::vector<SehCsgInfo>& csgInfos) override;
+    ndk::ScopedAStatus getDisable2gResponse(const SehRadioResponseInfo& info,
+                                            int32_t isDisable) override;
+    ndk::ScopedAStatus getNrIconTypeResponse(const SehRadioResponseInfo& info,
+                                             int32_t nrIconType) override;
+    ndk::ScopedAStatus getNrModeResponse(const SehRadioResponseInfo& info, int32_t nrMode) override;
+    ndk::ScopedAStatus getPreferredNetworkListResponse(
+            const SehRadioResponseInfo& info,
+            const std::vector<SehPreferredNetworkInfo>& infos) override;
+    ndk::ScopedAStatus getRoamingNetworkInfoViaBLEResponse(
+            const SehRadioResponseInfo& info,
+            const std::vector<SehRoamingNetworkInfo>& networkInfo) override;
+    ndk::ScopedAStatus getVendorSpecificConfigurationResponse(
+            const SehRadioResponseInfo& info,
+            const SehVendorConfiguration& configurations) override;
+    ndk::ScopedAStatus selectCsgManualResponse(const SehRadioResponseInfo& info) override;
+    ndk::ScopedAStatus sendEncodedUssdResponse(const SehRadioResponseInfo& info) override;
+    ndk::ScopedAStatus sendRequestRawResponse(const SehRadioResponseInfo& info,
+                                              const std::vector<uint8_t>& data) override;
+    ndk::ScopedAStatus sendRequestStringsResponse(const SehRadioResponseInfo& info,
+                                                  const std::vector<std::string>& data) override;
+    ndk::ScopedAStatus setCurrentNetworkInfoViaBLEResponse(
+            const SehRadioResponseInfo& info) override;
+    ndk::ScopedAStatus setDisable2gResponse(const SehRadioResponseInfo& info) override;
+    ndk::ScopedAStatus setImsCallListResponse(const SehRadioResponseInfo& info) override;
+    ndk::ScopedAStatus setNrModeResponse(const SehRadioResponseInfo& info) override;
+    ndk::ScopedAStatus setPreferredNetworkListResponse(const SehRadioResponseInfo& info) override;
+    ndk::ScopedAStatus setRoamingNetworkInfoViaBLEResponse(
+            const SehRadioResponseInfo& info) override;
+    ndk::ScopedAStatus setScanResultViaBLEResponse(const SehRadioResponseInfo& info) override;
+    ndk::ScopedAStatus setVendorSpecificConfigurationResponse(
+            const SehRadioResponseInfo& info) override;
+};
+
+}  // namespace implementation
+}  // namespace network
+}  // namespace radio
+}  // namespace hardware
+}  // namespace samsung
+}  // namespace vendor
+}  // namespace aidl
diff --git a/ril/sehradiomanager/hidl/SehRadioIndication.cpp b/ril/sehradiomanager/hidl/SehRadioIndication.cpp
new file mode 100644 (file)
index 0000000..5be32d6
--- /dev/null
@@ -0,0 +1,204 @@
+/*
+ * Copyright (C) 2024 The LineageOS Project
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#define LOG_TAG "SehRadioIndication"
+
+//#define DEBUG
+
+#include "SehRadioIndication.h"
+
+#include <android-base/logging.h>
+
+namespace vendor {
+namespace samsung {
+namespace hardware {
+namespace radio {
+namespace V2_2 {
+namespace implementation {
+
+using ::android::hardware::Void;
+
+void l(std::string line) {
+#ifdef DEBUG
+    LOG(INFO) << line;
+#endif
+}
+
+Return<void> SehRadioIndication::acbInfoChanged(int32_t type, const hidl_vec<int32_t>& acbInfo) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::csFallback(int32_t type, int32_t state) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::imsPreferenceChanged(int32_t type,
+                                                      const hidl_vec<int32_t>& imsPref) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::voiceRadioBearerHandoverStatusChanged(int32_t type,
+                                                                       int32_t state) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::timerStatusChangedInd(int32_t type,
+                                                       const hidl_vec<int32_t>& eventNoti) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::modemCapabilityIndication(int32_t type,
+                                                           const hidl_vec<int8_t>& data) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::needTurnOnRadioIndication(int32_t type) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::simPhonebookReadyIndication(int32_t type) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::phonebookInitCompleteIndication(int32_t type) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::deviceReadyNoti(int32_t type) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::stkSmsSendResultIndication(int32_t type, int32_t result) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::stkCallControlResultIndication(int32_t type,
+                                                                const hidl_string& cmd) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::simSwapStateChangedIndication(int32_t type, int32_t state) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::simCountMismatchedIndication(int32_t type, int32_t state) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::simOnOffStateChangedNotify(int32_t type, int32_t mode) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::releaseCompleteMessageIndication(
+        int32_t type, const V2_0::SehSsReleaseComplete& result) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::sapNotify(int32_t type, const hidl_vec<int8_t>& data) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::nrBearerAllocationChanged(int32_t type, int32_t status) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::nrNetworkTypeAdded(int32_t type, int32_t status) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::rrcStateChanged(int32_t type, const V2_0::SehRrcStateInfo& state) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::configModemCapabilityChangeNoti(
+        int32_t type, const V2_0::SehConfigModemCapability& configModemCapa) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::needApnProfileIndication(const hidl_string& select) {
+    l(__func__);
+    return Void();
+}
+
+Return<int32_t> SehRadioIndication::needSettingValueIndication(const hidl_string& key,
+                                                               const hidl_string& table) {
+    l(__func__);
+    return -1;
+}
+
+Return<void> SehRadioIndication::execute(int32_t type, const hidl_string& cmd) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::signalLevelInfoChanged(int32_t type,
+                                                        const V2_0::SehSignalBar& signalBarInfo) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::extendedRegistrationState(
+        int32_t type, const V2_0::SehExtendedRegStateResult& state) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::needPacketUsage(const hidl_string& iface,
+                                                 needPacketUsage_cb hidl_cb) {
+    V2_0::SehPacketUsage usage;
+    hidl_cb(0, usage);
+    return Void();
+}
+
+Return<void> SehRadioIndication::nrIconTypeChanged(uint32_t type, uint32_t nrIconType) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::callDetailsChanged(
+        uint32_t type, const hidl_vec<V2_0::SehCallDetails>& callDetails) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::vendorConfigurationChanged(
+        uint32_t type, const hidl_vec<SehVendorConfiguration>& configurations) {
+    l(__func__);
+    return Void();
+}
+
+Return<void> SehRadioIndication::eriInfoReceived(uint32_t type, const SehEriInfo& eriInfo) {
+    l(__func__);
+    return Void();
+}
+
+}  // namespace implementation
+}  // namespace V2_2
+}  // namespace radio
+}  // namespace hardware
+}  // namespace samsung
+}  // namespace vendor
diff --git a/ril/sehradiomanager/hidl/SehRadioIndication.h b/ril/sehradiomanager/hidl/SehRadioIndication.h
new file mode 100644 (file)
index 0000000..b0fe8a3
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2024 The LineageOS Project
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#pragma once
+
+#include <vendor/samsung/hardware/radio/2.2/ISehRadioIndication.h>
+#include <vendor/samsung/hardware/radio/2.2/types.h>
+
+namespace vendor {
+namespace samsung {
+namespace hardware {
+namespace radio {
+namespace V2_2 {
+namespace implementation {
+
+using ::android::hardware::hidl_string;
+using ::android::hardware::hidl_vec;
+using ::android::hardware::Return;
+
+class SehRadioIndication : public ISehRadioIndication {
+  public:
+    Return<void> acbInfoChanged(int32_t type, const hidl_vec<int32_t>& acbInfo) override;
+    Return<void> csFallback(int32_t type, int32_t state) override;
+    Return<void> imsPreferenceChanged(int32_t type, const hidl_vec<int32_t>& imsPref) override;
+    Return<void> voiceRadioBearerHandoverStatusChanged(int32_t type, int32_t state) override;
+    Return<void> timerStatusChangedInd(int32_t type, const hidl_vec<int32_t>& eventNoti) override;
+    Return<void> modemCapabilityIndication(int32_t type, const hidl_vec<int8_t>& data) override;
+    Return<void> needTurnOnRadioIndication(int32_t type) override;
+    Return<void> simPhonebookReadyIndication(int32_t type) override;
+    Return<void> phonebookInitCompleteIndication(int32_t type) override;
+    Return<void> deviceReadyNoti(int32_t type) override;
+    Return<void> stkSmsSendResultIndication(int32_t type, int32_t result) override;
+    Return<void> stkCallControlResultIndication(int32_t type, const hidl_string& cmd) override;
+    Return<void> simSwapStateChangedIndication(int32_t type, int32_t state) override;
+    Return<void> simCountMismatchedIndication(int32_t type, int32_t state) override;
+    Return<void> simOnOffStateChangedNotify(int32_t type, int32_t mode) override;
+    Return<void> releaseCompleteMessageIndication(
+            int32_t type, const V2_0::SehSsReleaseComplete& result) override;
+    Return<void> sapNotify(int32_t type, const hidl_vec<int8_t>& data) override;
+    Return<void> nrBearerAllocationChanged(int32_t type, int32_t status) override;
+    Return<void> nrNetworkTypeAdded(int32_t type, int32_t status) override;
+    Return<void> rrcStateChanged(int32_t type, const V2_0::SehRrcStateInfo& state) override;
+    Return<void> configModemCapabilityChangeNoti(
+            int32_t type, const V2_0::SehConfigModemCapability& configModemCapa) override;
+    Return<void> needApnProfileIndication(const hidl_string& select) override;
+    Return<int32_t> needSettingValueIndication(const hidl_string& key,
+                                               const hidl_string& table) override;
+    Return<void> execute(int32_t type, const hidl_string& cmd) override;
+    Return<void> signalLevelInfoChanged(int32_t type,
+                                        const V2_0::SehSignalBar& signalBarInfo) override;
+    Return<void> extendedRegistrationState(int32_t type,
+                                           const V2_0::SehExtendedRegStateResult& state) override;
+    Return<void> needPacketUsage(const hidl_string& iface, needPacketUsage_cb hidl_cb) override;
+    Return<void> nrIconTypeChanged(uint32_t type, uint32_t nrIconType) override;
+    Return<void> callDetailsChanged(uint32_t type,
+                                    const hidl_vec<V2_0::SehCallDetails>& callDetails) override;
+    Return<void> vendorConfigurationChanged(
+            uint32_t type, const hidl_vec<SehVendorConfiguration>& configurations) override;
+    Return<void> eriInfoReceived(uint32_t type, const SehEriInfo& eriInfo) override;
+};
+
+}  // namespace implementation
+}  // namespace V2_2
+}  // namespace radio
+}  // namespace hardware
+}  // namespace samsung
+}  // namespace vendor
diff --git a/ril/sehradiomanager/hidl/SehRadioResponse.cpp b/ril/sehradiomanager/hidl/SehRadioResponse.cpp
new file mode 100644 (file)
index 0000000..c95eca1
--- /dev/null
@@ -0,0 +1,221 @@
+/*
+ * Copyright (C) 2024 The LineageOS Project
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#define LOG_TAG "SehRadioResponse"
+
+#include "SehRadioResponse.h"
+
+namespace vendor {
+namespace samsung {
+namespace hardware {
+namespace radio {
+namespace V2_2 {
+namespace implementation {
+
+using ::android::hardware::Void;
+
+Return<void> SehRadioResponse::getIccCardStatusResponse() {
+    return Void();
+}
+
+Return<void> SehRadioResponse::supplyNetworkDepersonalizationResponse(
+        const RadioResponseInfo& info) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::dialResponse(const RadioResponseInfo& info) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::getCurrentCallsResponse() {
+    return Void();
+}
+
+Return<void> SehRadioResponse::getImsRegistrationStateResponse() {
+    return Void();
+}
+
+Return<void> SehRadioResponse::setImsCallListResponse(const RadioResponseInfo& info) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::getPreferredNetworkListResponse() {
+    return Void();
+}
+
+Return<void> SehRadioResponse::setPreferredNetworkListResponse(const RadioResponseInfo& info) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::sendEncodedUssdResponse(const RadioResponseInfo& info) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::getDisable2gResponse(const RadioResponseInfo& info,
+                                                    int32_t isDisable) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::setDisable2gResponse(const RadioResponseInfo& info) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::getCnapResponse(const RadioResponseInfo& info, int32_t m) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::getPhonebookStorageInfoResponse() {
+    return Void();
+}
+
+Return<void> SehRadioResponse::getUsimPhonebookCapabilityResponse(
+        const RadioResponseInfo& info, const hidl_vec<int32_t>& phonebookCapability) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::setSimOnOffResponse(const RadioResponseInfo& info) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::setSimInitEventResponse(const RadioResponseInfo& info) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::getSimLockInfoResponse() {
+    return Void();
+}
+
+Return<void> SehRadioResponse::supplyIccPersonalizationResponse(const RadioResponseInfo& info) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::changeIccPersonalizationResponse(const RadioResponseInfo& info) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::getPhonebookEntryResponse() {
+    return Void();
+}
+
+Return<void> SehRadioResponse::accessPhonebookEntryResponse(const RadioResponseInfo& info,
+                                                            int32_t simPhonebookAccessResp) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::getCellBroadcastConfigResponse() {
+    return Void();
+}
+
+Return<void> SehRadioResponse::emergencySearchResponse(const RadioResponseInfo& info,
+                                                       int32_t respEmergencySearch) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::emergencyControlResponse(const RadioResponseInfo& info) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::getAtrResponse(const RadioResponseInfo& info,
+                                              const hidl_string& atr) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::sendCdmaSmsExpectMoreResponse() {
+    return Void();
+}
+
+Return<void> SehRadioResponse::sendSmsResponse() {
+    return Void();
+}
+
+Return<void> SehRadioResponse::sendSMSExpectMoreResponse() {
+    return Void();
+}
+
+Return<void> SehRadioResponse::sendCdmaSmsResponse() {
+    return Void();
+}
+
+Return<void> SehRadioResponse::sendImsSmsResponse() {
+    return Void();
+}
+
+Return<void> SehRadioResponse::getStoredMsgCountFromSimResponse() {
+    return Void();
+}
+
+Return<void> SehRadioResponse::readSmsFromSimResponse() {
+    return Void();
+}
+
+Return<void> SehRadioResponse::writeSmsToSimResponse(const RadioResponseInfo& info, int32_t index) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::setDataAllowedResponse(const RadioResponseInfo& info) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::getCsgListResponse() {
+    return Void();
+}
+
+Return<void> SehRadioResponse::selectCsgManualResponse(const RadioResponseInfo& info) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::setMobileDataSettingResponse(const RadioResponseInfo& info) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::sendRequestRawResponse(const RadioResponseInfo& info,
+                                                      const hidl_vec<int8_t>& data) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::sendRequestStringsResponse(const RadioResponseInfo& info,
+                                                          const hidl_vec<hidl_string>& data) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::setNrModeResponse(const RadioResponseInfo& info) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::getNrModeResponse(const RadioResponseInfo& info, uint32_t nrMode) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::getNrIconResponse(const RadioResponseInfo& info,
+                                                 uint32_t nrIconType) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::getIccCardStatusResponse_2_1(const RadioResponseInfo& info,
+                                                            const V2_1::SehCardStatus& cardStatus) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::setNrModeResponse_2_2(const RadioResponseInfo& info) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::getVendorSpecificConfigurationResponse(
+        const RadioResponseInfo& info, const hidl_vec<SehVendorConfiguration>& configurations) {
+    return Void();
+}
+
+Return<void> SehRadioResponse::setVendorSpecificConfigurationResponse(
+        const RadioResponseInfo& info) {
+    return Void();
+}
+
+}  // namespace implementation
+}  // namespace V2_2
+}  // namespace radio
+}  // namespace hardware
+}  // namespace samsung
+}  // namespace vendor
diff --git a/ril/sehradiomanager/hidl/SehRadioResponse.h b/ril/sehradiomanager/hidl/SehRadioResponse.h
new file mode 100644 (file)
index 0000000..476a8f2
--- /dev/null
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2024 The LineageOS Project
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#pragma once
+
+#include <vendor/samsung/hardware/radio/2.2/ISehRadioResponse.h>
+#include <vendor/samsung/hardware/radio/2.2/types.h>
+
+namespace vendor {
+namespace samsung {
+namespace hardware {
+namespace radio {
+namespace V2_2 {
+namespace implementation {
+
+using ::android::hardware::hidl_string;
+using ::android::hardware::hidl_vec;
+using ::android::hardware::Return;
+using ::android::hardware::radio::V1_0::RadioResponseInfo;
+
+class SehRadioResponse : public ISehRadioResponse {
+  public:
+    Return<void> getIccCardStatusResponse() override;
+    Return<void> supplyNetworkDepersonalizationResponse(const RadioResponseInfo& info) override;
+    Return<void> dialResponse(const RadioResponseInfo& info) override;
+    Return<void> getCurrentCallsResponse() override;
+    Return<void> getImsRegistrationStateResponse() override;
+    Return<void> setImsCallListResponse(const RadioResponseInfo& info) override;
+    Return<void> getPreferredNetworkListResponse() override;
+    Return<void> setPreferredNetworkListResponse(const RadioResponseInfo& info) override;
+    Return<void> sendEncodedUssdResponse(const RadioResponseInfo& info) override;
+    Return<void> getDisable2gResponse(const RadioResponseInfo& info, int32_t isDisable) override;
+    Return<void> setDisable2gResponse(const RadioResponseInfo& info) override;
+    Return<void> getCnapResponse(const RadioResponseInfo& info, int32_t m) override;
+    Return<void> getPhonebookStorageInfoResponse() override;
+    Return<void> getUsimPhonebookCapabilityResponse(
+            const RadioResponseInfo& info, const hidl_vec<int32_t>& phonebookCapability) override;
+    Return<void> setSimOnOffResponse(const RadioResponseInfo& info) override;
+    Return<void> setSimInitEventResponse(const RadioResponseInfo& info) override;
+    Return<void> getSimLockInfoResponse() override;
+    Return<void> supplyIccPersonalizationResponse(const RadioResponseInfo& info) override;
+    Return<void> changeIccPersonalizationResponse(const RadioResponseInfo& info) override;
+    Return<void> getPhonebookEntryResponse() override;
+    Return<void> accessPhonebookEntryResponse(const RadioResponseInfo& info,
+                                              int32_t simPhonebookAccessResp) override;
+    Return<void> getCellBroadcastConfigResponse() override;
+    Return<void> emergencySearchResponse(const RadioResponseInfo& info,
+                                         int32_t respEmergencySearch) override;
+    Return<void> emergencyControlResponse(const RadioResponseInfo& info) override;
+    Return<void> getAtrResponse(const RadioResponseInfo& info, const hidl_string& atr) override;
+    Return<void> sendCdmaSmsExpectMoreResponse() override;
+    Return<void> sendSmsResponse() override;
+    Return<void> sendSMSExpectMoreResponse() override;
+    Return<void> sendCdmaSmsResponse() override;
+    Return<void> sendImsSmsResponse() override;
+    Return<void> getStoredMsgCountFromSimResponse() override;
+    Return<void> readSmsFromSimResponse() override;
+    Return<void> writeSmsToSimResponse(const RadioResponseInfo& info, int32_t index) override;
+    Return<void> setDataAllowedResponse(const RadioResponseInfo& info) override;
+    Return<void> getCsgListResponse() override;
+    Return<void> selectCsgManualResponse(const RadioResponseInfo& info) override;
+    Return<void> setMobileDataSettingResponse(const RadioResponseInfo& info) override;
+    Return<void> sendRequestRawResponse(const RadioResponseInfo& info,
+                                        const hidl_vec<int8_t>& data) override;
+    Return<void> sendRequestStringsResponse(const RadioResponseInfo& info,
+                                            const hidl_vec<hidl_string>& data) override;
+    Return<void> setNrModeResponse(const RadioResponseInfo& info) override;
+    Return<void> getNrModeResponse(const RadioResponseInfo& info, uint32_t nrMode) override;
+    Return<void> getNrIconResponse(const RadioResponseInfo& info, uint32_t nrIconType) override;
+    Return<void> getIccCardStatusResponse_2_1(const RadioResponseInfo& info,
+                                              const V2_1::SehCardStatus& cardStatus) override;
+    Return<void> setNrModeResponse_2_2(const RadioResponseInfo& info) override;
+    Return<void> getVendorSpecificConfigurationResponse(
+            const RadioResponseInfo& info,
+            const hidl_vec<SehVendorConfiguration>& configurations) override;
+    Return<void> setVendorSpecificConfigurationResponse(const RadioResponseInfo& info) override;
+};
+
+}  // namespace implementation
+}  // namespace V2_2
+}  // namespace radio
+}  // namespace hardware
+}  // namespace samsung
+}  // namespace vendor
index f9d3c99288768ec9067619c4ca1f0b16d9e2cfae..4cd7cdf0486e10723b007ec420e1737590805a96 100644 (file)
@@ -6,68 +6,90 @@
 
 #define LOG_TAG "SehRadioManager"
 
-#include "SehRadioIndication.h"
-#include "SehRadioResponse.h"
+#include "aidl/SehRadioNetworkIndication.h"
+#include "aidl/SehRadioNetworkResponse.h"
+#include "hidl/SehRadioIndication.h"
+#include "hidl/SehRadioResponse.h"
 
 #include <android-base/file.h>
 #include <android-base/logging.h>
 #include <android-base/properties.h>
 #include <android-base/strings.h>
-#include <hidl/HidlTransportSupport.h>
+#include <android/binder_manager.h>
+#include <android/binder_process.h>
 
+#include <aidl/vendor/samsung/hardware/radio/network/ISehRadioNetwork.h>
 #include <vendor/samsung/hardware/radio/2.2/ISehRadio.h>
 
 using android::sp;
+using android::String16;
 using android::base::GetIntProperty;
 using android::base::ReadFileToString;
 using android::base::Split;
-using android::hardware::configureRpcThreadpool;
 using android::hardware::hidl_vec;
-using android::hardware::joinRpcThreadpool;
 
+using aidl::vendor::samsung::hardware::radio::network::ISehRadioNetwork;
+using aidl::vendor::samsung::hardware::radio::network::implementation::SehRadioNetworkIndication;
+using aidl::vendor::samsung::hardware::radio::network::implementation::SehRadioNetworkResponse;
 using vendor::samsung::hardware::radio::V2_2::ISehRadio;
 using vendor::samsung::hardware::radio::V2_2::SehVendorConfiguration;
 using vendor::samsung::hardware::radio::V2_2::implementation::SehRadioIndication;
 using vendor::samsung::hardware::radio::V2_2::implementation::SehRadioResponse;
 
-hidl_vec<SehVendorConfiguration> LoadConfiguration(std::string data) {
-    std::vector<SehVendorConfiguration> config;
+using AidlVendorConfig = aidl::vendor::samsung::hardware::radio::network::SehVendorConfiguration;
+
+template <typename C>
+std::vector<C> LoadConfiguration(std::string data) {
+    std::vector<C> config;
 
     for (std::string line : Split(data, "\n")) {
         if (line == "\0") break;
 
         std::vector<std::string> parts = Split(line, "=");
         if (parts.size() == 2) {
-            config.push_back(SehVendorConfiguration(parts[0], parts[1]));
+            config.push_back(C(parts[0], parts[1]));
             LOG(INFO) << line;
         } else {
             LOG(ERROR) << "Invalid data: " << line;
         }
     }
 
-    return hidl_vec<SehVendorConfiguration>(config);
+    return config;
 }
 
 int main() {
-    int slotCount = GetIntProperty("ro.vendor.multisim.simslotcount", 1);
-    configureRpcThreadpool(slotCount * 2 + 1, true);
+    ABinderProcess_setThreadPoolMaxThreadCount(0);
+    ABinderProcess_startThreadPool();
 
     std::string content;
     if (!ReadFileToString("/vendor/etc/sehradiomanager.conf", &content)) {
         LOG(WARNING) << "Could not read config, setting defaults";
         content = "FW_READY=1";
     }
-    auto config = LoadConfiguration(content);
 
+    int slotCount = GetIntProperty("ro.vendor.multisim.simslotcount", 1);
     for (int slot = 1; slot <= slotCount; slot++) {
-        auto samsungIndication = sp<SehRadioIndication>::make();
-        auto samsungResponse = sp<SehRadioResponse>::make();
-        auto svc = ISehRadio::getService("slot" + std::to_string(slot));
-        svc->setResponseFunction(samsungResponse, samsungIndication);
-        svc->setVendorSpecificConfiguration(0x3232, config);
+        auto slotName = "slot" + std::to_string(slot);
+        auto aidlSvcName = std::string(ISehRadioNetwork::descriptor) + "/" + slotName;
+        if (AServiceManager_isDeclared(aidlSvcName.c_str())) {
+            auto config = LoadConfiguration<AidlVendorConfig>(content);
+            auto samsungIndication = ndk::SharedRefBase::make<SehRadioNetworkIndication>();
+            auto samsungResponse = ndk::SharedRefBase::make<SehRadioNetworkResponse>();
+            auto svc = ISehRadioNetwork::fromBinder(
+                    ndk::SpAIBinder(AServiceManager_waitForService(aidlSvcName.c_str())));
+            svc->setResponseFunctions(samsungResponse, samsungIndication);
+            svc->setVendorSpecificConfiguration(0x4242, config);
+        } else {
+            auto config = LoadConfiguration<SehVendorConfiguration>(content);
+            auto samsungIndication = sp<SehRadioIndication>::make();
+            auto samsungResponse = sp<SehRadioResponse>::make();
+            auto svc = ISehRadio::getService(slotName);
+            svc->setResponseFunction(samsungResponse, samsungIndication);
+            svc->setVendorSpecificConfiguration(0x3232, hidl_vec(config));
+        }
         LOG(INFO) << "Done (slot" << slot << ")";
     }
 
-    joinRpcThreadpool();
-    return 1;
+    ABinderProcess_joinThreadPool();
+    return EXIT_FAILURE;  // should not reach
 }