From 1f79db1faa9b07263ede48157c7bebb00fcb4abf Mon Sep 17 00:00:00 2001 From: Terry Huang Date: Fri, 18 Nov 2022 14:51:51 +0800 Subject: [PATCH] [test_suite] Add Location Privacy HAL Bug: 244637957 Test: Build test_suite pass Change-Id: Id874a52d7ab62ae31b2d840cc236543be903191e --- .../include/libradiocompat/RadioNetwork.h | 3 +++ .../compat/libradiocompat/network/RadioNetwork.cpp | 14 ++++++++++++++ radio/aidl/vts/radio_network_indication.cpp | 5 +++++ radio/aidl/vts/radio_network_response.cpp | 14 ++++++++++++++ radio/aidl/vts/radio_network_utils.h | 9 +++++++++ 5 files changed, 45 insertions(+) diff --git a/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioNetwork.h b/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioNetwork.h index f9f3c6cb33..b4461031be 100644 --- a/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioNetwork.h +++ b/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioNetwork.h @@ -104,6 +104,9 @@ class RadioNetwork : public RadioCompatBase, ::ndk::ScopedAStatus setNullCipherAndIntegrityEnabled(int32_t serial, bool enabled) override; + ::ndk::ScopedAStatus setLocationPrivacySetting(int32_t serial, bool shareLocation) override; + ::ndk::ScopedAStatus getLocationPrivacySetting(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 005deaed4d..730b5dd902 100644 --- a/radio/aidl/compat/libradiocompat/network/RadioNetwork.cpp +++ b/radio/aidl/compat/libradiocompat/network/RadioNetwork.cpp @@ -360,4 +360,18 @@ ScopedAStatus RadioNetwork::setN1ModeEnabled(int32_t serial, bool /*enable*/) { respond()->setN1ModeEnabledResponse(notSupported(serial)); return ok(); } + +ScopedAStatus RadioNetwork::setLocationPrivacySetting(int32_t serial, bool /*shareLocation*/) { + LOG_CALL << serial; + LOG(ERROR) << " setLocationPrivacySetting is unsupported by HIDL HALs"; + respond()->setLocationPrivacySettingResponse(notSupported(serial)); + return ok(); +} + +ScopedAStatus RadioNetwork::getLocationPrivacySetting(int32_t serial) { + LOG_CALL << serial; + LOG(ERROR) << " getLocationPrivacySetting is unsupported by HIDL HALs"; + respond()->getLocationPrivacySettingResponse(notSupported(serial), false); + return ok(); +} } // namespace android::hardware::radio::compat diff --git a/radio/aidl/vts/radio_network_indication.cpp b/radio/aidl/vts/radio_network_indication.cpp index ae3bd4b01a..71789827a4 100644 --- a/radio/aidl/vts/radio_network_indication.cpp +++ b/radio/aidl/vts/radio_network_indication.cpp @@ -97,3 +97,8 @@ ndk::ScopedAStatus RadioNetworkIndication::emergencyNetworkScanResult( RadioIndicationType /*type*/, const EmergencyRegResult& /*result*/) { return ndk::ScopedAStatus::ok(); } + +ndk::ScopedAStatus RadioNetworkIndication::onNetworkInitiatedLocationResult( + RadioIndicationType /*type*/, LocationResponseType /*locationResponseType*/) { + return ndk::ScopedAStatus::ok(); +} diff --git a/radio/aidl/vts/radio_network_response.cpp b/radio/aidl/vts/radio_network_response.cpp index c890df08a6..4f0e4f3274 100644 --- a/radio/aidl/vts/radio_network_response.cpp +++ b/radio/aidl/vts/radio_network_response.cpp @@ -313,3 +313,17 @@ ndk::ScopedAStatus RadioNetworkResponse::setN1ModeEnabledResponse(const RadioRes parent_network.notify(info.serial); return ndk::ScopedAStatus::ok(); } + +ndk::ScopedAStatus RadioNetworkResponse::setLocationPrivacySettingResponse( + const RadioResponseInfo& info) { + rspInfo = info; + parent_network.notify(info.serial); + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus RadioNetworkResponse::getLocationPrivacySettingResponse( + const RadioResponseInfo& info, bool /*shareLocation*/) { + 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 e6a320b572..92dcb1f70f 100644 --- a/radio/aidl/vts/radio_network_utils.h +++ b/radio/aidl/vts/radio_network_utils.h @@ -166,6 +166,12 @@ class RadioNetworkResponse : public BnRadioNetworkResponse { const RadioResponseInfo& info, bool isEnabled) override; virtual ndk::ScopedAStatus setN1ModeEnabledResponse(const RadioResponseInfo& info) override; + + virtual ndk::ScopedAStatus setLocationPrivacySettingResponse( + const RadioResponseInfo& info) override; + + virtual ndk::ScopedAStatus getLocationPrivacySettingResponse(const RadioResponseInfo& info, + bool shareLocation) override; }; /* Callback class for radio network indication */ @@ -223,6 +229,9 @@ class RadioNetworkIndication : public BnRadioNetworkIndication { virtual ndk::ScopedAStatus emergencyNetworkScanResult( RadioIndicationType type, const EmergencyRegResult& result) override; + + virtual ndk::ScopedAStatus onNetworkInitiatedLocationResult( + RadioIndicationType type, LocationResponseType locationResponseType) override; }; // The main test class for Radio AIDL Network.