--- /dev/null
+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",
+}
--- /dev/null
+b6801a5cca21eab5f8034f5bec4c6a01ef856157
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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);
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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);
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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);
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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);
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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);
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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);
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// 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;
+}
--- /dev/null
+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);
+}
--- /dev/null
+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);
+}
--- /dev/null
+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);
+
+}
--- /dev/null
+package vendor.samsung.hardware.radio.network;
+
+import vendor.samsung.hardware.radio.network.SehArfcnInfo;
+
+@VintfStability
+parcelable SehArfcnInfo {
+byte rat;
+int band;
+int arfcn;
+}
--- /dev/null
+package vendor.samsung.hardware.radio.network;
+
+@VintfStability
+parcelable SehCallDetails {
+ int callType;
+ String[] extras;
+}
--- /dev/null
+package vendor.samsung.hardware.radio.network;
+
+@VintfStability
+parcelable SehCsgInfo {
+int csgId;
+String name;
+String plmn;
+int rat;
+int category;
+int signalStrength;
+}
--- /dev/null
+package vendor.samsung.hardware.radio.network;
+
+@VintfStability
+parcelable SehEriInfo {
+String eriText;
+byte roamingIndicator;
+byte iconIndex;
+byte iconMode;
+}
--- /dev/null
+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;
+}
--- /dev/null
+package vendor.samsung.hardware.radio.network;
+
+@VintfStability
+parcelable SehOperatorInfo {
+String alphaLong;
+String alphaShort;
+String operatorNumeric;
+int status;
+String rat;
+String lac;
+}
--- /dev/null
+package vendor.samsung.hardware.radio.network;
+
+@VintfStability
+parcelable SehPreferredNetworkInfo {
+int index;
+String oper;
+String plmn;
+int gsmAct;
+int gsmCompactAct;
+int utranAct;
+int mode;
+}
--- /dev/null
+package vendor.samsung.hardware.radio.network;
+
+@VintfStability
+parcelable SehRadioResponseInfo {
+ int error;
+ int serial;
+ int type;
+}
--- /dev/null
+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;
+}
--- /dev/null
+package vendor.samsung.hardware.radio.network;
+
+@VintfStability
+parcelable SehSignalBar {
+ int cdmaLevel;
+ int evdoLevel;
+ int gsmLevel;
+ int wcdmaLevel;
+ int tdscdmaLevel;
+ int lteLevel;
+ int nrLevel;
+}
--- /dev/null
+package vendor.samsung.hardware.radio.network;
+
+@VintfStability
+parcelable SehVendorConfiguration {
+ String name;
+ String value;
+}
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"],
}
+++ /dev/null
-/*
- * 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
+++ /dev/null
-/*
- * 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
+++ /dev/null
-/*
- * 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
+++ /dev/null
-/*
- * 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
--- /dev/null
+/*
+ * 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
--- /dev/null
+/*
+ * 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
--- /dev/null
+/*
+ * 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
--- /dev/null
+/*
+ * 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
--- /dev/null
+/*
+ * 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
--- /dev/null
+/*
+ * 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
--- /dev/null
+/*
+ * 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
--- /dev/null
+/*
+ * 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
#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
}