Loading radio/1.6/IRadio.hal +14 −0 Original line number Diff line number Diff line Loading @@ -366,6 +366,20 @@ interface IRadio extends @1.5::IRadio { */ oneway getSystemSelectionChannels(int32_t serial); /** * Request all of the current cell information known to the radio. The radio * must return list of all current cells, including the neighboring cells. If for a particular * cell information isn't known then the appropriate unknown value will be returned. * This does not cause or change the rate of unsolicited cellInfoList(). * * This is identitcal to getCellInfoList in V1.0, but it requests updated version of CellInfo. * * @param serial Serial number of request. * * Response callback is IRadioResponse.getCellInfoListResponse() */ oneway getCellInfoList_1_6(int32_t serial); /** * Request current voice registration state. * Loading radio/1.6/IRadioIndication.hal +22 −1 Original line number Diff line number Diff line Loading @@ -18,8 +18,10 @@ package android.hardware.radio@1.6; import @1.0::RadioIndicationType; import @1.5::IRadioIndication; import @1.6::SetupDataCallResult; import @1.6::CellInfo; import @1.6::LinkCapacityEstimate; import @1.6::NetworkScanResult; import @1.6::SetupDataCallResult; /** * Interface declaring unsolicited radio indications. Loading Loading @@ -67,4 +69,23 @@ interface IRadioIndication extends @1.5::IRadioIndication { * @param lce LinkCapacityEstimate */ oneway currentLinkCapacityEstimate_1_6(RadioIndicationType type, LinkCapacityEstimate lce); /** * Report all of the current cell information known to the radio. * * This indication is updated from IRadioIndication@1.5 to report the @1.6 version of * CellInfo. * * @param type Type of radio indication * @param records Current cell information */ oneway cellInfoList_1_6(RadioIndicationType type, vec<CellInfo> records); /** * Incremental network scan results. * * This indication is updated from IRadioIndication@1.5 to report the @1.6 version of * CellInfo. */ oneway networkScanResult_1_6(RadioIndicationType type, NetworkScanResult result); }; radio/1.6/IRadioResponse.hal +15 −1 Original line number Diff line number Diff line Loading @@ -17,9 +17,10 @@ package android.hardware.radio@1.6; import @1.0::SendSmsResult; import @1.6::RadioResponseInfo; import @1.5::IRadioResponse; import @1.6::CellInfo; import @1.6::RegStateResult; import @1.6::RadioResponseInfo; import @1.6::SetupDataCallResult; /** Loading Loading @@ -329,6 +330,19 @@ interface IRadioResponse extends @1.5::IRadioResponse { */ oneway getSystemSelectionChannelsResponse(RadioResponseInfo info); /** * This is identical to getCellInfoListResponse_1_5 but uses an updated version of CellInfo. * * @param info Response info struct containing response type, serial no. and error * @param cellInfo List of current cell information known to radio * * Valid errors returned: * RadioError:NONE * RadioError:RADIO_NOT_AVAILABLE * RadioError:INTERNAL_ERR */ oneway getCellInfoListResponse_1_6(RadioResponseInfo info, vec<CellInfo> cellInfo); /** * @param info Response info struct containing response type, serial no. and error * @param voiceRegResponse Current Voice registration response as defined by RegStateResult Loading radio/1.6/types.hal +162 −0 Original line number Diff line number Diff line Loading @@ -16,14 +16,29 @@ package android.hardware.radio@1.6; import @1.0::CdmaSignalStrength; import @1.0::EvdoSignalStrength; import @1.0::GsmSignalStrength; import @1.0::LteSignalStrength; import @1.0::RadioError; import @1.0::RadioResponseType; import @1.0::RegState; import @1.1::ScanStatus; import @1.2::CellInfoCdma; import @1.2::CellConnectionStatus; import @1.2::TdscdmaSignalStrength; import @1.2::WcdmaSignalStrength; import @1.4::DataCallFailCause; import @1.4::DataConnActiveStatus; import @1.4::NrSignalStrength; import @1.4::PdpProtocolType; import @1.4::RadioTechnology; import @1.5::CellIdentity; import @1.5::CellIdentityLte; import @1.5::CellIdentityNr; import @1.5::CellInfoGsm; import @1.5::CellInfoWcdma; import @1.5::CellInfoTdscdma; import @1.5::LinkAddress; import @1.5::RegStateResult.AccessTechnologySpecificInfo.Cdma2000RegistrationInfo; import @1.5::RegStateResult.AccessTechnologySpecificInfo.EutranRegistrationInfo; Loading Loading @@ -504,6 +519,153 @@ struct NrVopsInfo { EmfIndicator emfSupported; }; struct LteSignalStrength { @1.0::LteSignalStrength base; /** * CSI channel quality indicator (CQI) table index. There are multiple CQI tables. * The definition of CQI in each table is different. * * Reference: 3GPP TS 136.213 section 7.2.3. * * Range [1, 6], INT_MAX means invalid/unreported. */ uint32_t cqiTableIndex; }; struct NrSignalStrength { @1.4::NrSignalStrength base; /** * CSI channel quality indicator (CQI) table index. There are multiple CQI tables. * The definition of CQI in each table is different. * * Reference: 3GPP TS 138.214 section 5.2.2.1. * * Range [1, 3], INT_MAX means invalid/unreported. */ uint32_t csiCqiTableIndex; /** * CSI channel quality indicator (CQI) for all subbands. * * If the CQI report is for the entire wideband, a single CQI index is provided. * If the CQI report is for all subbands, one CQI index is provided for each subband, * in ascending order of subband index. * If CQI is not available, the CQI report is empty. * * Reference: 3GPP TS 138.214 section 5.2.2.1. * * Range [0, 15], INT_MAX means invalid/unreported. */ vec<uint32_t> csiCqiReport; }; /** * Overwritten from @1.4::SignalStrength in order to update LteSignalStrength and NrSignalStrength. */ struct SignalStrength { /** * If GSM measurements are provided, this structure must contain valid measurements; otherwise * all fields should be set to INT_MAX to mark them as invalid. */ GsmSignalStrength gsm; /** * If CDMA measurements are provided, this structure must contain valid measurements; otherwise * all fields should be set to INT_MAX to mark them as invalid. */ CdmaSignalStrength cdma; /** * If EvDO measurements are provided, this structure must contain valid measurements; otherwise * all fields should be set to INT_MAX to mark them as invalid. */ EvdoSignalStrength evdo; /** * If LTE measurements are provided, this structure must contain valid measurements; otherwise * all fields should be set to INT_MAX to mark them as invalid. */ LteSignalStrength lte; /** * If TD-SCDMA measurements are provided, this structure must contain valid measurements; * otherwise all fields should be set to INT_MAX to mark them as invalid. */ TdscdmaSignalStrength tdscdma; /** * If WCDMA measurements are provided, this structure must contain valid measurements; otherwise * all fields should be set to INT_MAX to mark them as invalid. */ WcdmaSignalStrength wcdma; /** * If NR 5G measurements are provided, this structure must contain valid measurements; otherwise * all fields should be set to INT_MAX to mark them as invalid. */ NrSignalStrength nr; }; /** Overwritten from @1.5::CellInfoLte in order to update LteSignalStrength. */ struct CellInfoLte { CellIdentityLte cellIdentityLte; LteSignalStrength signalStrengthLte; }; /** Overwritten from @1.5::CellInfoNr in order to update NrSignalStrength. */ struct CellInfoNr { CellIdentityNr cellIdentityNr; NrSignalStrength signalStrengthNr; }; /** Overwritten from @1.5::CellInfo in order to update LteSignalStrength and NrSignalStrength. */ struct CellInfo { /** * True if this cell is registered false if not registered. */ bool registered; /** * Connection status for the cell. */ CellConnectionStatus connectionStatus; safe_union CellInfoRatSpecificInfo { /** * 3gpp CellInfo types. */ CellInfoGsm gsm; CellInfoWcdma wcdma; CellInfoTdscdma tdscdma; CellInfoLte lte; CellInfoNr nr; /** * 3gpp2 CellInfo types; */ CellInfoCdma cdma; } ratSpecificInfo; }; /** Overwritten from @1.5::NetworkScanResult in order to update the CellInfo to 1.6 version. */ struct NetworkScanResult { /** * The status of the scan. */ ScanStatus status; /** * The error code of the incremental result. */ RadioError error; /** * List of network information as CellInfo. */ vec<CellInfo> networkInfos; }; /** * Overwritten from @1.5::RegStateResult to 1.6 to support NrRegistrationInfo * version. Loading radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h +14 −0 Original line number Diff line number Diff line Loading @@ -799,6 +799,11 @@ class RadioResponse_v1_6 : public ::android::hardware::radio::V1_6::IRadioRespon Return<void> getSystemSelectionChannelsResponse( const ::android::hardware::radio::V1_6::RadioResponseInfo& info); Return<void> getCellInfoListResponse_1_6( const ::android::hardware::radio::V1_6::RadioResponseInfo& info, const ::android::hardware::hidl_vec<::android::hardware::radio::V1_6::CellInfo>& cellInfo); Return<void> getVoiceRegistrationStateResponse_1_6( const ::android::hardware::radio::V1_6::RadioResponseInfo& info, const ::android::hardware::radio::V1_6::RegStateResult& regResponse); Loading @@ -825,6 +830,15 @@ class RadioIndication_v1_6 : public ::android::hardware::radio::V1_6::IRadioIndi Return<void> unthrottleApn(RadioIndicationType type, const ::android::hardware::hidl_string& apn); Return<void> networkScanResult_1_6( RadioIndicationType type, const ::android::hardware::radio::V1_6::NetworkScanResult& result); Return<void> cellInfoList_1_6( RadioIndicationType type, const ::android::hardware::hidl_vec<::android::hardware::radio::V1_6::CellInfo>& records); /* 1.5 Api */ Return<void> uiccApplicationsEnablementChanged(RadioIndicationType type, bool enabled); Loading Loading
radio/1.6/IRadio.hal +14 −0 Original line number Diff line number Diff line Loading @@ -366,6 +366,20 @@ interface IRadio extends @1.5::IRadio { */ oneway getSystemSelectionChannels(int32_t serial); /** * Request all of the current cell information known to the radio. The radio * must return list of all current cells, including the neighboring cells. If for a particular * cell information isn't known then the appropriate unknown value will be returned. * This does not cause or change the rate of unsolicited cellInfoList(). * * This is identitcal to getCellInfoList in V1.0, but it requests updated version of CellInfo. * * @param serial Serial number of request. * * Response callback is IRadioResponse.getCellInfoListResponse() */ oneway getCellInfoList_1_6(int32_t serial); /** * Request current voice registration state. * Loading
radio/1.6/IRadioIndication.hal +22 −1 Original line number Diff line number Diff line Loading @@ -18,8 +18,10 @@ package android.hardware.radio@1.6; import @1.0::RadioIndicationType; import @1.5::IRadioIndication; import @1.6::SetupDataCallResult; import @1.6::CellInfo; import @1.6::LinkCapacityEstimate; import @1.6::NetworkScanResult; import @1.6::SetupDataCallResult; /** * Interface declaring unsolicited radio indications. Loading Loading @@ -67,4 +69,23 @@ interface IRadioIndication extends @1.5::IRadioIndication { * @param lce LinkCapacityEstimate */ oneway currentLinkCapacityEstimate_1_6(RadioIndicationType type, LinkCapacityEstimate lce); /** * Report all of the current cell information known to the radio. * * This indication is updated from IRadioIndication@1.5 to report the @1.6 version of * CellInfo. * * @param type Type of radio indication * @param records Current cell information */ oneway cellInfoList_1_6(RadioIndicationType type, vec<CellInfo> records); /** * Incremental network scan results. * * This indication is updated from IRadioIndication@1.5 to report the @1.6 version of * CellInfo. */ oneway networkScanResult_1_6(RadioIndicationType type, NetworkScanResult result); };
radio/1.6/IRadioResponse.hal +15 −1 Original line number Diff line number Diff line Loading @@ -17,9 +17,10 @@ package android.hardware.radio@1.6; import @1.0::SendSmsResult; import @1.6::RadioResponseInfo; import @1.5::IRadioResponse; import @1.6::CellInfo; import @1.6::RegStateResult; import @1.6::RadioResponseInfo; import @1.6::SetupDataCallResult; /** Loading Loading @@ -329,6 +330,19 @@ interface IRadioResponse extends @1.5::IRadioResponse { */ oneway getSystemSelectionChannelsResponse(RadioResponseInfo info); /** * This is identical to getCellInfoListResponse_1_5 but uses an updated version of CellInfo. * * @param info Response info struct containing response type, serial no. and error * @param cellInfo List of current cell information known to radio * * Valid errors returned: * RadioError:NONE * RadioError:RADIO_NOT_AVAILABLE * RadioError:INTERNAL_ERR */ oneway getCellInfoListResponse_1_6(RadioResponseInfo info, vec<CellInfo> cellInfo); /** * @param info Response info struct containing response type, serial no. and error * @param voiceRegResponse Current Voice registration response as defined by RegStateResult Loading
radio/1.6/types.hal +162 −0 Original line number Diff line number Diff line Loading @@ -16,14 +16,29 @@ package android.hardware.radio@1.6; import @1.0::CdmaSignalStrength; import @1.0::EvdoSignalStrength; import @1.0::GsmSignalStrength; import @1.0::LteSignalStrength; import @1.0::RadioError; import @1.0::RadioResponseType; import @1.0::RegState; import @1.1::ScanStatus; import @1.2::CellInfoCdma; import @1.2::CellConnectionStatus; import @1.2::TdscdmaSignalStrength; import @1.2::WcdmaSignalStrength; import @1.4::DataCallFailCause; import @1.4::DataConnActiveStatus; import @1.4::NrSignalStrength; import @1.4::PdpProtocolType; import @1.4::RadioTechnology; import @1.5::CellIdentity; import @1.5::CellIdentityLte; import @1.5::CellIdentityNr; import @1.5::CellInfoGsm; import @1.5::CellInfoWcdma; import @1.5::CellInfoTdscdma; import @1.5::LinkAddress; import @1.5::RegStateResult.AccessTechnologySpecificInfo.Cdma2000RegistrationInfo; import @1.5::RegStateResult.AccessTechnologySpecificInfo.EutranRegistrationInfo; Loading Loading @@ -504,6 +519,153 @@ struct NrVopsInfo { EmfIndicator emfSupported; }; struct LteSignalStrength { @1.0::LteSignalStrength base; /** * CSI channel quality indicator (CQI) table index. There are multiple CQI tables. * The definition of CQI in each table is different. * * Reference: 3GPP TS 136.213 section 7.2.3. * * Range [1, 6], INT_MAX means invalid/unreported. */ uint32_t cqiTableIndex; }; struct NrSignalStrength { @1.4::NrSignalStrength base; /** * CSI channel quality indicator (CQI) table index. There are multiple CQI tables. * The definition of CQI in each table is different. * * Reference: 3GPP TS 138.214 section 5.2.2.1. * * Range [1, 3], INT_MAX means invalid/unreported. */ uint32_t csiCqiTableIndex; /** * CSI channel quality indicator (CQI) for all subbands. * * If the CQI report is for the entire wideband, a single CQI index is provided. * If the CQI report is for all subbands, one CQI index is provided for each subband, * in ascending order of subband index. * If CQI is not available, the CQI report is empty. * * Reference: 3GPP TS 138.214 section 5.2.2.1. * * Range [0, 15], INT_MAX means invalid/unreported. */ vec<uint32_t> csiCqiReport; }; /** * Overwritten from @1.4::SignalStrength in order to update LteSignalStrength and NrSignalStrength. */ struct SignalStrength { /** * If GSM measurements are provided, this structure must contain valid measurements; otherwise * all fields should be set to INT_MAX to mark them as invalid. */ GsmSignalStrength gsm; /** * If CDMA measurements are provided, this structure must contain valid measurements; otherwise * all fields should be set to INT_MAX to mark them as invalid. */ CdmaSignalStrength cdma; /** * If EvDO measurements are provided, this structure must contain valid measurements; otherwise * all fields should be set to INT_MAX to mark them as invalid. */ EvdoSignalStrength evdo; /** * If LTE measurements are provided, this structure must contain valid measurements; otherwise * all fields should be set to INT_MAX to mark them as invalid. */ LteSignalStrength lte; /** * If TD-SCDMA measurements are provided, this structure must contain valid measurements; * otherwise all fields should be set to INT_MAX to mark them as invalid. */ TdscdmaSignalStrength tdscdma; /** * If WCDMA measurements are provided, this structure must contain valid measurements; otherwise * all fields should be set to INT_MAX to mark them as invalid. */ WcdmaSignalStrength wcdma; /** * If NR 5G measurements are provided, this structure must contain valid measurements; otherwise * all fields should be set to INT_MAX to mark them as invalid. */ NrSignalStrength nr; }; /** Overwritten from @1.5::CellInfoLte in order to update LteSignalStrength. */ struct CellInfoLte { CellIdentityLte cellIdentityLte; LteSignalStrength signalStrengthLte; }; /** Overwritten from @1.5::CellInfoNr in order to update NrSignalStrength. */ struct CellInfoNr { CellIdentityNr cellIdentityNr; NrSignalStrength signalStrengthNr; }; /** Overwritten from @1.5::CellInfo in order to update LteSignalStrength and NrSignalStrength. */ struct CellInfo { /** * True if this cell is registered false if not registered. */ bool registered; /** * Connection status for the cell. */ CellConnectionStatus connectionStatus; safe_union CellInfoRatSpecificInfo { /** * 3gpp CellInfo types. */ CellInfoGsm gsm; CellInfoWcdma wcdma; CellInfoTdscdma tdscdma; CellInfoLte lte; CellInfoNr nr; /** * 3gpp2 CellInfo types; */ CellInfoCdma cdma; } ratSpecificInfo; }; /** Overwritten from @1.5::NetworkScanResult in order to update the CellInfo to 1.6 version. */ struct NetworkScanResult { /** * The status of the scan. */ ScanStatus status; /** * The error code of the incremental result. */ RadioError error; /** * List of network information as CellInfo. */ vec<CellInfo> networkInfos; }; /** * Overwritten from @1.5::RegStateResult to 1.6 to support NrRegistrationInfo * version. Loading
radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h +14 −0 Original line number Diff line number Diff line Loading @@ -799,6 +799,11 @@ class RadioResponse_v1_6 : public ::android::hardware::radio::V1_6::IRadioRespon Return<void> getSystemSelectionChannelsResponse( const ::android::hardware::radio::V1_6::RadioResponseInfo& info); Return<void> getCellInfoListResponse_1_6( const ::android::hardware::radio::V1_6::RadioResponseInfo& info, const ::android::hardware::hidl_vec<::android::hardware::radio::V1_6::CellInfo>& cellInfo); Return<void> getVoiceRegistrationStateResponse_1_6( const ::android::hardware::radio::V1_6::RadioResponseInfo& info, const ::android::hardware::radio::V1_6::RegStateResult& regResponse); Loading @@ -825,6 +830,15 @@ class RadioIndication_v1_6 : public ::android::hardware::radio::V1_6::IRadioIndi Return<void> unthrottleApn(RadioIndicationType type, const ::android::hardware::hidl_string& apn); Return<void> networkScanResult_1_6( RadioIndicationType type, const ::android::hardware::radio::V1_6::NetworkScanResult& result); Return<void> cellInfoList_1_6( RadioIndicationType type, const ::android::hardware::hidl_vec<::android::hardware::radio::V1_6::CellInfo>& records); /* 1.5 Api */ Return<void> uiccApplicationsEnablementChanged(RadioIndicationType type, bool enabled); Loading