diff --git a/current.txt b/current.txt index 369b607c2c..78e66fe984 100644 --- a/current.txt +++ b/current.txt @@ -657,10 +657,10 @@ c72cb37b3f66ef65aeb5c6438a3fbe17bbe847fdf62d1a76eafd7f3a8a526105 android.hardwar 342a8e12db4dca643f2755eb4167e8f103d96502053a25a1f51f42107a4530f1 android.hardware.wifi.supplicant@1.3::ISupplicantStaIfaceCallback 8835e9799cddf7c239f60beff467cbdf164331f70a8b6c06ed78982d7810d835 android.hardware.wifi.supplicant@1.3::ISupplicantStaNetwork 91015479f5a0fba9872e98d3cca4680995de64f42ae71461b4b7e5acc5a196ab android.hardware.wifi.supplicant@1.3::types -d9044563a5ac5a17a239303b8dec1e51167761ac46e965f61e31654cc034d31b android.hardware.radio@1.5::types -afa2d6cf4c0ba4b8482d5bcc097594ad5bc49be0bf3003034f75955cdaf66045 android.hardware.radio@1.5::IRadio +2c0587a1e83facba604949c31163486f21eb5b47a29c8f29119a47d3bd052103 android.hardware.radio@1.5::types +b5cfa87882b416105fe01e8a40a856d36c93d64f1103d77e12b1281cea13b0bd android.hardware.radio@1.5::IRadio bc59237dbd93949238081f762710552e76670cb648c0e198138551460ac54b1e android.hardware.radio@1.5::IRadioIndication -f4888f9676890b43a459c6380f335fea7a6ad32ed3bafafeb018a88d6c0be8a4 android.hardware.radio@1.5::IRadioResponse +ef10e15cdbe8ba63925302a95962d5679bbda6a4351400cc23e1589ca0e9f94b android.hardware.radio@1.5::IRadioResponse 55f0a15642869ec98a55ea0a5ac049d3e1a6245ff7750deb6bcb7182057eee83 android.hardware.radio.config@1.3::types b27ab0cd40b0b078cdcd024bfe1061c4c4c065f3519eeb9347fa359a3268a5ae android.hardware.radio.config@1.3::IRadioConfig 742360c775313438b0f82256eac62fb5bbc76a6ae6f388573f3aa142fb2c1eea android.hardware.radio.config@1.3::IRadioConfigIndication diff --git a/radio/1.5/IRadio.hal b/radio/1.5/IRadio.hal index fafc6e204d..d0c5b0d6bc 100644 --- a/radio/1.5/IRadio.hal +++ b/radio/1.5/IRadio.hal @@ -21,6 +21,7 @@ import @1.4::IRadio; import @1.4::DataProfileInfo; import @1.5::AccessNetwork; import @1.5::DataProfileInfo; +import @1.5::IndicationFilter; import @1.5::LinkAddress; import @1.5::NetworkScanRequest; import @1.5::RadioAccessSpecifier; @@ -219,4 +220,19 @@ interface IRadio extends @1.4::IRadio { */ oneway setRadioPower_1_5(int32_t serial, bool powerOn, bool forEmergencyCall, bool preferredForEmergencyCall); + + /** + * Sets the indication filter. + * + * Prevents the reporting of specified unsolicited indications from the radio. This is used + * for power saving in instances when those indications are not needed. If unset, defaults to + * @1.2::IndicationFilter:ALL. + * + * @param serial Serial number of request. + * @param indicationFilter 32-bit bitmap of IndicationFilter. Bits set to 1 indicate the + * indications are enabled. See @1.5::IndicationFilter for the definition of each bit. + * + * Response callback is IRadioResponse.setIndicationFilterResponse() + */ + oneway setIndicationFilter_1_5(int32_t serial, bitfield indicationFilter); }; diff --git a/radio/1.5/IRadioResponse.hal b/radio/1.5/IRadioResponse.hal index 968948b1ae..f1b7e71a34 100644 --- a/radio/1.5/IRadioResponse.hal +++ b/radio/1.5/IRadioResponse.hal @@ -145,4 +145,16 @@ interface IRadioResponse extends @1.4::IRadioResponse { * RadioError:INVALID_ARGUMENTS */ oneway setRadioPowerResponse_1_5(RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:INVALID_ARGUMENTS + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + */ + oneway setIndicationFilterResponse_1_5(RadioResponseInfo info); }; diff --git a/radio/1.5/types.hal b/radio/1.5/types.hal index 7d6ec417de..12c27d04d3 100644 --- a/radio/1.5/types.hal +++ b/radio/1.5/types.hal @@ -27,6 +27,7 @@ import @1.2::CellIdentityGsm; import @1.2::CellIdentityWcdma; import @1.2::CellIdentityTdscdma; import @1.2::CellIdentityLte; +import @1.2::IndicationFilter; import @1.2::NetworkScanRequest; import @1.4::AccessNetwork; import @1.4::ApnTypes; @@ -424,3 +425,8 @@ safe_union CellIdentity { CellIdentityLte lte; CellIdentityNr nr; }; + +enum IndicationFilter : @1.2::IndicationFilter { + /** Control the unsolicited sending of registration failure reports via onRegistrationFailed */ + REGISTRATION_FAILURE = 1 << 5, +}; 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 49a315d838..c3c9f54073 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 @@ -551,6 +551,8 @@ class RadioResponse_v1_5 : public ::android::hardware::radio::V1_5::IRadioRespon Return setDataProfileResponse_1_5(const RadioResponseInfo& info); Return setRadioPowerResponse_1_5(const RadioResponseInfo& info); + + Return setIndicationFilterResponse_1_5(const RadioResponseInfo& info); }; /* Callback class for radio indication */ diff --git a/radio/1.5/vts/functional/radio_response.cpp b/radio/1.5/vts/functional/radio_response.cpp index a0b3d5fa18..877945f32b 100644 --- a/radio/1.5/vts/functional/radio_response.cpp +++ b/radio/1.5/vts/functional/radio_response.cpp @@ -953,4 +953,10 @@ Return RadioResponse_v1_5::setRadioPowerResponse_1_5(const RadioResponseIn rspInfo = info; parent_v1_5.notify(info.serial); return Void(); -} \ No newline at end of file +} + +Return RadioResponse_v1_5::setIndicationFilterResponse_1_5(const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_5.notify(info.serial); + return Void(); +}