From 60d28d2c24d610ec9938794d1fba9711c8cff0d6 Mon Sep 17 00:00:00 2001 From: Hunsuk Choi Date: Tue, 6 Sep 2022 06:02:05 +0000 Subject: [PATCH] Upgrade the version of IRadioNetwork to V2 Bug: 243344927 Bug: 232285403 Test: build and flash Change-Id: I4cc204c9237f017126a52cb12da5891671f248d6 --- .../compatibility_matrix.current.xml | 2 +- radio/aidl/Android.bp | 2 +- radio/aidl/compat/libradiocompat/Android.bp | 2 +- .../include/libradiocompat/RadioNetwork.h | 10 +++++++ .../libradiocompat/network/RadioNetwork.cpp | 29 +++++++++++++++++++ radio/aidl/compat/service/Android.bp | 2 +- radio/aidl/vts/Android.bp | 2 +- radio/aidl/vts/radio_network_indication.cpp | 5 ++++ radio/aidl/vts/radio_network_response.cpp | 27 +++++++++++++++++ radio/aidl/vts/radio_network_utils.h | 14 +++++++++ 10 files changed, 90 insertions(+), 5 deletions(-) diff --git a/compatibility_matrices/compatibility_matrix.current.xml b/compatibility_matrices/compatibility_matrix.current.xml index d59def7153..6dc86a6004 100644 --- a/compatibility_matrices/compatibility_matrix.current.xml +++ b/compatibility_matrices/compatibility_matrix.current.xml @@ -485,7 +485,7 @@ android.hardware.radio.network - 1 + 2 IRadioNetwork slot1 diff --git a/radio/aidl/Android.bp b/radio/aidl/Android.bp index c0609d839f..fde98fca22 100644 --- a/radio/aidl/Android.bp +++ b/radio/aidl/Android.bp @@ -132,7 +132,7 @@ aidl_interface { host_supported: true, srcs: ["android/hardware/radio/network/*.aidl"], stability: "vintf", - imports: ["android.hardware.radio"], + imports: ["android.hardware.radio-V1"], backend: { cpp: { enabled: true, diff --git a/radio/aidl/compat/libradiocompat/Android.bp b/radio/aidl/compat/libradiocompat/Android.bp index 487d91b6b9..f79e045f63 100644 --- a/radio/aidl/compat/libradiocompat/Android.bp +++ b/radio/aidl/compat/libradiocompat/Android.bp @@ -39,7 +39,7 @@ cc_library { "android.hardware.radio.data-V1-ndk", "android.hardware.radio.messaging-V1-ndk", "android.hardware.radio.modem-V1-ndk", - "android.hardware.radio.network-V1-ndk", + "android.hardware.radio.network-V2-ndk", "android.hardware.radio.sim-V1-ndk", "android.hardware.radio.voice-V1-ndk", "android.hardware.radio@1.0", diff --git a/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioNetwork.h b/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioNetwork.h index 9784665ef7..c714190153 100644 --- a/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioNetwork.h +++ b/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioNetwork.h @@ -90,6 +90,16 @@ class RadioNetwork : public RadioCompatBase, ::aidl::android::hardware::radio::network::UsageSetting usageSetting) override; ::ndk::ScopedAStatus getUsageSetting(int32_t serial) override; + ::ndk::ScopedAStatus setEmergencyMode( + int32_t serial, + const ::aidl::android::hardware::radio::network::EmergencyMode emergencyMode) override; + ::ndk::ScopedAStatus triggerEmergencyNetworkScan( + int32_t serial, + const ::aidl::android::hardware::radio::network::EmergencyNetworkScanTrigger& + scanTrigger) override; + ::ndk::ScopedAStatus cancelEmergencyNetworkScan(int32_t serial) override; + ::ndk::ScopedAStatus exitEmergencyMode(int32_t serial) 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 d5e2a8df99..ff30ac3633 100644 --- a/radio/aidl/compat/libradiocompat/network/RadioNetwork.cpp +++ b/radio/aidl/compat/libradiocompat/network/RadioNetwork.cpp @@ -311,4 +311,33 @@ ScopedAStatus RadioNetwork::getUsageSetting(int32_t serial) { return ok(); } +ScopedAStatus RadioNetwork::setEmergencyMode(int32_t serial, aidl::EmergencyMode) { + LOG_CALL << serial; + LOG(ERROR) << " setEmergencyMode is unsupported by HIDL HALs"; + respond()->setEmergencyModeResponse(notSupported(serial), {}); + return ok(); +} + +ScopedAStatus RadioNetwork::triggerEmergencyNetworkScan(int32_t serial, + const aidl::EmergencyNetworkScanTrigger&) { + LOG_CALL << serial; + LOG(ERROR) << " triggerEmergencyNetworkScan is unsupported by HIDL HALs"; + respond()->triggerEmergencyNetworkScanResponse(notSupported(serial)); + return ok(); +} + +ScopedAStatus RadioNetwork::cancelEmergencyNetworkScan(int32_t serial) { + LOG_CALL << serial; + LOG(ERROR) << " cancelEmergencyNetworkScan is unsupported by HIDL HALs"; + respond()->cancelEmergencyNetworkScanResponse(notSupported(serial)); + return ok(); +} + +ScopedAStatus RadioNetwork::exitEmergencyMode(int32_t serial) { + LOG_CALL << serial; + LOG(ERROR) << " exitEmergencyMode is unsupported by HIDL HALs"; + respond()->exitEmergencyModeResponse(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 52eb71ff14..4dbaef4e71 100644 --- a/radio/aidl/compat/service/Android.bp +++ b/radio/aidl/compat/service/Android.bp @@ -42,7 +42,7 @@ cc_binary { "android.hardware.radio.data-V1-ndk", "android.hardware.radio.messaging-V1-ndk", "android.hardware.radio.modem-V1-ndk", - "android.hardware.radio.network-V1-ndk", + "android.hardware.radio.network-V2-ndk", "android.hardware.radio.sim-V1-ndk", "android.hardware.radio.voice-V1-ndk", "android.hardware.radio@1.0", diff --git a/radio/aidl/vts/Android.bp b/radio/aidl/vts/Android.bp index 021ee89f6d..0d4bb3eddf 100644 --- a/radio/aidl/vts/Android.bp +++ b/radio/aidl/vts/Android.bp @@ -68,7 +68,7 @@ cc_test { "android.hardware.radio.data-V1-ndk", "android.hardware.radio.messaging-V1-ndk", "android.hardware.radio.modem-V1-ndk", - "android.hardware.radio.network-V1-ndk", + "android.hardware.radio.network-V2-ndk", "android.hardware.radio.sim-V1-ndk", "android.hardware.radio.voice-V1-ndk", ], diff --git a/radio/aidl/vts/radio_network_indication.cpp b/radio/aidl/vts/radio_network_indication.cpp index 7acbff4b2e..ae3bd4b01a 100644 --- a/radio/aidl/vts/radio_network_indication.cpp +++ b/radio/aidl/vts/radio_network_indication.cpp @@ -92,3 +92,8 @@ ndk::ScopedAStatus RadioNetworkIndication::voiceRadioTechChanged(RadioIndication RadioTechnology /*rat*/) { return ndk::ScopedAStatus::ok(); } + +ndk::ScopedAStatus RadioNetworkIndication::emergencyNetworkScanResult( + RadioIndicationType /*type*/, const EmergencyRegResult& /*result*/) { + return ndk::ScopedAStatus::ok(); +} diff --git a/radio/aidl/vts/radio_network_response.cpp b/radio/aidl/vts/radio_network_response.cpp index 2292c549ca..5599c0332f 100644 --- a/radio/aidl/vts/radio_network_response.cpp +++ b/radio/aidl/vts/radio_network_response.cpp @@ -266,3 +266,30 @@ ndk::ScopedAStatus RadioNetworkResponse::supplyNetworkDepersonalizationResponse( parent_network.notify(info.serial); return ndk::ScopedAStatus::ok(); } + +ndk::ScopedAStatus RadioNetworkResponse::setEmergencyModeResponse( + const RadioResponseInfo& info, const EmergencyRegResult& /*regState*/) { + rspInfo = info; + parent_network.notify(info.serial); + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus RadioNetworkResponse::triggerEmergencyNetworkScanResponse( + const RadioResponseInfo& info) { + rspInfo = info; + parent_network.notify(info.serial); + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus RadioNetworkResponse::exitEmergencyModeResponse(const RadioResponseInfo& info) { + rspInfo = info; + parent_network.notify(info.serial); + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus RadioNetworkResponse::cancelEmergencyNetworkScanResponse( + const RadioResponseInfo& info) { + rspInfo = info; + parent_network.notify(info.serial); + return ndk::ScopedAStatus::ok(); +} diff --git a/radio/aidl/vts/radio_network_utils.h b/radio/aidl/vts/radio_network_utils.h index 29f20e8dbd..8480825421 100644 --- a/radio/aidl/vts/radio_network_utils.h +++ b/radio/aidl/vts/radio_network_utils.h @@ -147,6 +147,17 @@ class RadioNetworkResponse : public BnRadioNetworkResponse { virtual ndk::ScopedAStatus supplyNetworkDepersonalizationResponse( const RadioResponseInfo& info, int32_t remainingRetries) override; + + virtual ndk::ScopedAStatus setEmergencyModeResponse( + const RadioResponseInfo& info, const EmergencyRegResult& regState) override; + + virtual ndk::ScopedAStatus triggerEmergencyNetworkScanResponse( + const RadioResponseInfo& info) override; + + virtual ndk::ScopedAStatus exitEmergencyModeResponse(const RadioResponseInfo& info) override; + + virtual ndk::ScopedAStatus cancelEmergencyNetworkScanResponse( + const RadioResponseInfo& info) override; }; /* Callback class for radio network indication */ @@ -201,6 +212,9 @@ class RadioNetworkIndication : public BnRadioNetworkIndication { virtual ndk::ScopedAStatus voiceRadioTechChanged(RadioIndicationType type, RadioTechnology rat) override; + + virtual ndk::ScopedAStatus emergencyNetworkScanResult( + RadioIndicationType type, const EmergencyRegResult& result) override; }; // The main test class for Radio AIDL Network.