From 8d4a73b14912abff1d4aebe39fc71ec6685f97dc Mon Sep 17 00:00:00 2001 From: Rambo Wang Date: Wed, 5 Feb 2020 21:31:53 -0800 Subject: [PATCH] Add CellIdentity to getBarringInfoResponse Add CellIdentity to getBarringInfoResponse to make the req/resp method match the existing indication. The CellIdentity is used to prevent races where barring is attributed to the wrong cell based on the timing of separate polled or unsolicited inputs to the framework. Because the CellIdentity is already in IRadioIndication the information to provide CID with BarringInfo is already present and available. This just makes the unsol and the polled APIs match. Matching indication is IRadioIndication@1.5::barringInfoChanged Bug: 148992393 Test: make && VtsHalRadioV1_5TargetTest Merged-In: I74e6ab9ca9e0dd49846af774fd73773ff3737df7 Change-Id: I74e6ab9ca9e0dd49846af774fd73773ff3737df7 (cherry picked from commit 6894f89fd88dab3b56531c06e8f5d2ae0316f47f) --- current.txt | 2 +- radio/1.5/IRadioResponse.hal | 5 ++++- radio/1.5/vts/functional/radio_hidl_hal_utils_v1_5.h | 1 + radio/1.5/vts/functional/radio_response.cpp | 1 + 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/current.txt b/current.txt index be19ba23cc..23a0ef08be 100644 --- a/current.txt +++ b/current.txt @@ -646,4 +646,4 @@ c9273429fcf98d797d3bb07fdba6f1be95bf960f9255cde169fd1ca4db85f856 android.hardwar b0c291c1ee1592b7b12f7bf02bad4cec4bf4f2e41fbd044a9c3885b188114c88 android.hardware.radio@1.5::types b454df853441c12f6e425e8a60dd29fda20f5e6e39b93d1103e4b37495db38aa android.hardware.radio@1.5::IRadio fcbb0742a88215ee7a6d7ce0825d253eb2b50391fc6c8c48667f9fd7f6d4549e android.hardware.radio@1.5::IRadioIndication -b9789e8286be3f3390bdef054f38eb7a2052fd9b611613813f5d7e40a465c2c9 android.hardware.radio@1.5::IRadioResponse +b809193970a91ca637a4b0184767315601d32e3ef3d5992ffbc7a8d14a14f015 android.hardware.radio@1.5::IRadioResponse diff --git a/radio/1.5/IRadioResponse.hal b/radio/1.5/IRadioResponse.hal index 886f9951d6..1380da32a9 100644 --- a/radio/1.5/IRadioResponse.hal +++ b/radio/1.5/IRadioResponse.hal @@ -21,6 +21,7 @@ import @1.0::SendSmsResult; import @1.4::IRadioResponse; import @1.5::BarringInfo; import @1.5::CardStatus; +import @1.5::CellIdentity; import @1.5::CellInfo; import @1.5::PersoSubstate; import @1.5::RegStateResult; @@ -191,6 +192,7 @@ interface IRadioResponse extends @1.4::IRadioResponse { /** * @param info Response info struct containing response type, serial no. and error + * @param cellIdentity CellIdentity for the barring infos. * @param barringInfos a vector of barring info for all barring service types * * Valid errors returned: @@ -199,7 +201,8 @@ interface IRadioResponse extends @1.4::IRadioResponse { * RadioError:INTERNAL_ERR * RadioError:MODEM_ERR */ - oneway getBarringInfoResponse(RadioResponseInfo info, vec barringInfos); + oneway getBarringInfoResponse(RadioResponseInfo info, CellIdentity cellIdentity, + vec barringInfos); /** * @param info Response info struct containing response type, serial no. and error diff --git a/radio/1.5/vts/functional/radio_hidl_hal_utils_v1_5.h b/radio/1.5/vts/functional/radio_hidl_hal_utils_v1_5.h index 2d78886131..80455c6a7d 100644 --- a/radio/1.5/vts/functional/radio_hidl_hal_utils_v1_5.h +++ b/radio/1.5/vts/functional/radio_hidl_hal_utils_v1_5.h @@ -562,6 +562,7 @@ class RadioResponse_v1_5 : public ::android::hardware::radio::V1_5::IRadioRespon Return getBarringInfoResponse( const RadioResponseInfo& info, + const ::android::hardware::radio::V1_5::CellIdentity& cellIdentity, const ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::BarringInfo>& barringInfos); diff --git a/radio/1.5/vts/functional/radio_response.cpp b/radio/1.5/vts/functional/radio_response.cpp index a98fc0f598..32293b69c6 100644 --- a/radio/1.5/vts/functional/radio_response.cpp +++ b/radio/1.5/vts/functional/radio_response.cpp @@ -977,6 +977,7 @@ Return RadioResponse_v1_5::setIndicationFilterResponse_1_5(const RadioResp Return RadioResponse_v1_5::getBarringInfoResponse( const RadioResponseInfo& info, + const ::android::hardware::radio::V1_5::CellIdentity& /*cellIdentity*/, const ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::BarringInfo>& /*barringInfos*/) { rspInfo = info;