diff --git a/radio/1.6/IRadio.hal b/radio/1.6/IRadio.hal index 0e7354d6ca..2c8ac5ea35 100644 --- a/radio/1.6/IRadio.hal +++ b/radio/1.6/IRadio.hal @@ -389,6 +389,15 @@ interface IRadio extends @1.5::IRadio { */ oneway getVoiceRegistrationState_1_6(int32_t serial); + /** + * Requests current signal strength and associated information. Must succeed if radio is on. + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.getSignalStrengthResponse_1_6() + */ + oneway getSignalStrength_1_6(int32_t serial); + /** * Request current data registration state. * diff --git a/radio/1.6/IRadioIndication.hal b/radio/1.6/IRadioIndication.hal index bc6e397e87..1b56d40bcf 100644 --- a/radio/1.6/IRadioIndication.hal +++ b/radio/1.6/IRadioIndication.hal @@ -21,6 +21,7 @@ import @1.5::IRadioIndication; import @1.6::CellInfo; import @1.6::LinkCapacityEstimate; import @1.6::NetworkScanResult; +import @1.6::SignalStrength; import @1.6::SetupDataCallResult; /** @@ -70,6 +71,18 @@ interface IRadioIndication extends @1.5::IRadioIndication { */ oneway currentLinkCapacityEstimate_1_6(RadioIndicationType type, LinkCapacityEstimate lce); + + /** + * Indicates current signal strength of the radio. + * + * This is identical to currentSignalStrength_1_4 but uses an updated version of + * SignalStrength. + * + * @param type Type of radio indication + * @param signalStrength SignalStrength information + */ + oneway currentSignalStrength_1_6(RadioIndicationType type, SignalStrength signalStrength); + /** * Report all of the current cell information known to the radio. * diff --git a/radio/1.6/IRadioResponse.hal b/radio/1.6/IRadioResponse.hal index 0f08a46366..3b2061f32d 100644 --- a/radio/1.6/IRadioResponse.hal +++ b/radio/1.6/IRadioResponse.hal @@ -22,6 +22,7 @@ import @1.6::CellInfo; import @1.6::RegStateResult; import @1.6::RadioResponseInfo; import @1.6::SetupDataCallResult; +import @1.6::SignalStrength; /** * Interface declaring response functions to solicited radio requests. @@ -343,6 +344,19 @@ interface IRadioResponse extends @1.5::IRadioResponse { */ oneway getCellInfoListResponse_1_6(RadioResponseInfo info, vec cellInfo); + /** + * This is identical to getSignalStrengthResponse_1_4 but uses an updated version of + * SignalStrength. + * + * @param signalStrength Current signal strength + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + */ + oneway getSignalStrengthResponse_1_6(RadioResponseInfo info, SignalStrength signalStrength); + /** * @param info Response info struct containing response type, serial no. and error * @param voiceRegResponse Current Voice registration response as defined by RegStateResult diff --git a/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h b/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h index 964259d26d..111fcd1325 100644 --- a/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h +++ b/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h @@ -799,6 +799,10 @@ class RadioResponse_v1_6 : public ::android::hardware::radio::V1_6::IRadioRespon Return getSystemSelectionChannelsResponse( const ::android::hardware::radio::V1_6::RadioResponseInfo& info); + Return getSignalStrengthResponse_1_6( + const ::android::hardware::radio::V1_6::RadioResponseInfo& info, + const ::android::hardware::radio::V1_6::SignalStrength& sig_strength); + Return getCellInfoListResponse_1_6( const ::android::hardware::radio::V1_6::RadioResponseInfo& info, const ::android::hardware::hidl_vec<::android::hardware::radio::V1_6::CellInfo>& @@ -830,6 +834,10 @@ class RadioIndication_v1_6 : public ::android::hardware::radio::V1_6::IRadioIndi Return unthrottleApn(RadioIndicationType type, const ::android::hardware::hidl_string& apn); + Return currentSignalStrength_1_6( + RadioIndicationType type, + const ::android::hardware::radio::V1_6::SignalStrength& signalStrength); + Return networkScanResult_1_6( RadioIndicationType type, const ::android::hardware::radio::V1_6::NetworkScanResult& result); diff --git a/radio/1.6/vts/functional/radio_indication.cpp b/radio/1.6/vts/functional/radio_indication.cpp index 4dffe639df..bfc54c0ac5 100644 --- a/radio/1.6/vts/functional/radio_indication.cpp +++ b/radio/1.6/vts/functional/radio_indication.cpp @@ -387,6 +387,12 @@ Return RadioIndication_v1_6::modemReset(RadioIndicationType /*type*/, return Void(); } +Return RadioIndication_v1_6::currentSignalStrength_1_6( + RadioIndicationType /*type*/, + const ::android::hardware::radio::V1_6::SignalStrength& /*signalStrength*/) { + return Void(); +} + Return RadioIndication_v1_6::networkScanResult_1_6( RadioIndicationType /*type*/, const ::android::hardware::radio::V1_6::NetworkScanResult& /*result*/) { diff --git a/radio/1.6/vts/functional/radio_response.cpp b/radio/1.6/vts/functional/radio_response.cpp index cd3b2cfe22..68d1f202b7 100644 --- a/radio/1.6/vts/functional/radio_response.cpp +++ b/radio/1.6/vts/functional/radio_response.cpp @@ -808,12 +808,6 @@ Return RadioResponse_v1_6::getSignalStrengthResponse_1_2( return Void(); } -Return RadioResponse_v1_6::getSignalStrengthResponse_1_4( - const ::android::hardware::radio::V1_0::RadioResponseInfo& /*info*/, - const ::android::hardware::radio::V1_4::SignalStrength& /*sig_strength*/) { - return Void(); -} - Return RadioResponse_v1_6::getCellInfoListResponse_1_2( const ::android::hardware::radio::V1_0::RadioResponseInfo& /*info*/, const ::android::hardware::hidl_vec< @@ -867,6 +861,12 @@ Return RadioResponse_v1_6::getDataRegistrationStateResponse_1_4( return Void(); } +Return RadioResponse_v1_6::getSignalStrengthResponse_1_4( + const ::android::hardware::radio::V1_0::RadioResponseInfo& /*info*/, + const ::android::hardware::radio::V1_4::SignalStrength& /*sig_strength*/) { + return Void(); +} + Return RadioResponse_v1_6::getCellInfoListResponse_1_4( const ::android::hardware::radio::V1_0::RadioResponseInfo& /*info*/, const ::android::hardware::hidl_vec< @@ -1164,6 +1164,12 @@ Return RadioResponse_v1_6::setDataThrottlingResponse( return Void(); } +Return RadioResponse_v1_6::getSignalStrengthResponse_1_6( + const ::android::hardware::radio::V1_6::RadioResponseInfo& /*info*/, + const ::android::hardware::radio::V1_6::SignalStrength& /*sig_strength*/) { + return Void(); +} + Return RadioResponse_v1_6::getCellInfoListResponse_1_6( const ::android::hardware::radio::V1_6::RadioResponseInfo& /*info*/, const ::android::hardware::hidl_vec<