Radio HAL : Support N3IWF
Introduce a new RadioTechnologyFamily type (NON_3GPP)
Include Radio tech family in RegStateResult to differentiate NR & N3IWF.
Add getRegistrationState to differentiate response between NR &
N3IWF.
Add unthrottleDataProfile to differentiate unthrottle event between NR & N3IWF
Bug: 249129495
Test: update-api, Android build, atest VtsHalRadioTargetTest
Change-Id: I8b4b055be140afd26b453fa8d50c999ad4c19bec
diff --git a/radio/aidl/compat/libradiocompat/Android.bp b/radio/aidl/compat/libradiocompat/Android.bp
index f79e045..2f7fc59 100644
--- a/radio/aidl/compat/libradiocompat/Android.bp
+++ b/radio/aidl/compat/libradiocompat/Android.bp
@@ -31,12 +31,13 @@
"-DANDROID_UTILS_REF_BASE_DISABLE_IMPLICIT_CONSTRUCTION",
],
shared_libs: [
+ "android.hardware.radio-V2-ndk",
"android.hardware.radio.config-V1-ndk",
"android.hardware.radio.config@1.0",
"android.hardware.radio.config@1.1",
"android.hardware.radio.config@1.2",
"android.hardware.radio.config@1.3",
- "android.hardware.radio.data-V1-ndk",
+ "android.hardware.radio.data-V2-ndk",
"android.hardware.radio.messaging-V1-ndk",
"android.hardware.radio.modem-V1-ndk",
"android.hardware.radio.network-V2-ndk",
diff --git a/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioNetwork.h b/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioNetwork.h
index c714190..c886267 100644
--- a/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioNetwork.h
+++ b/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioNetwork.h
@@ -99,6 +99,9 @@
scanTrigger) override;
::ndk::ScopedAStatus cancelEmergencyNetworkScan(int32_t serial) override;
::ndk::ScopedAStatus exitEmergencyMode(int32_t serial) override;
+ ::ndk::ScopedAStatus getRegistrationState(
+ int32_t serial, ::aidl::android::hardware::radio::RadioTechnologyFamily ratFamily,
+ ::aidl::android::hardware::radio::network::Domain domain) override;
protected:
std::shared_ptr<::aidl::android::hardware::radio::network::IRadioNetworkResponse> respond();
diff --git a/radio/aidl/compat/libradiocompat/network/RadioNetwork.cpp b/radio/aidl/compat/libradiocompat/network/RadioNetwork.cpp
index ff30ac3..638b34e 100644
--- a/radio/aidl/compat/libradiocompat/network/RadioNetwork.cpp
+++ b/radio/aidl/compat/libradiocompat/network/RadioNetwork.cpp
@@ -340,4 +340,16 @@
return ok();
}
+ScopedAStatus RadioNetwork::getRegistrationState(
+ int32_t serial, ::aidl::android::hardware::radio::RadioTechnologyFamily ratFamily,
+ aidl::Domain domain) {
+ LOG_CALL << serial;
+ if (ratFamily == ::aidl::android::hardware::radio::RadioTechnologyFamily::THREE_GPP &&
+ domain == aidl::Domain::PS) {
+ LOG_CALL << " Radio Technology Family 3GPP and Domain PS";
+ }
+ LOG(ERROR) << " geRegistrationState is unsupported by HIDL HALs";
+ respond()->getRegistrationStateResponse(notSupported(serial), {});
+ return ok();
+}
} // namespace android::hardware::radio::compat
diff --git a/radio/aidl/compat/service/Android.bp b/radio/aidl/compat/service/Android.bp
index 4dbaef4..45a3497 100644
--- a/radio/aidl/compat/service/Android.bp
+++ b/radio/aidl/compat/service/Android.bp
@@ -34,12 +34,13 @@
],
shared_libs: [
"android.hardware.radio-library.compat",
+ "android.hardware.radio-V2-ndk",
"android.hardware.radio.config-V1-ndk",
"android.hardware.radio.config@1.0",
"android.hardware.radio.config@1.1",
"android.hardware.radio.config@1.2",
"android.hardware.radio.config@1.3",
- "android.hardware.radio.data-V1-ndk",
+ "android.hardware.radio.data-V2-ndk",
"android.hardware.radio.messaging-V1-ndk",
"android.hardware.radio.modem-V1-ndk",
"android.hardware.radio.network-V2-ndk",