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 6894f89fd8)
This commit is contained in:
Rambo Wang
2020-02-05 21:31:53 -08:00
committed by Nathan Harold
parent 007c8457ec
commit 8d4a73b149
4 changed files with 7 additions and 2 deletions

View File

@@ -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

View File

@@ -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<BarringInfo> barringInfos);
oneway getBarringInfoResponse(RadioResponseInfo info, CellIdentity cellIdentity,
vec<BarringInfo> barringInfos);
/**
* @param info Response info struct containing response type, serial no. and error

View File

@@ -562,6 +562,7 @@ class RadioResponse_v1_5 : public ::android::hardware::radio::V1_5::IRadioRespon
Return<void> getBarringInfoResponse(
const RadioResponseInfo& info,
const ::android::hardware::radio::V1_5::CellIdentity& cellIdentity,
const ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::BarringInfo>&
barringInfos);

View File

@@ -977,6 +977,7 @@ Return<void> RadioResponse_v1_5::setIndicationFilterResponse_1_5(const RadioResp
Return<void> 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;