diff --git a/radio/1.2/Android.bp b/radio/1.2/Android.bp index f4ca1cfea7..552e33d46e 100644 --- a/radio/1.2/Android.bp +++ b/radio/1.2/Android.bp @@ -19,6 +19,8 @@ hidl_interface { "android.hidl.base@1.0", ], types: [ + "AudioQuality", + "Call", "CardStatus", "CellConnectionStatus", "CellIdentityCdma", diff --git a/radio/1.2/IRadioResponse.hal b/radio/1.2/IRadioResponse.hal index c356954cd7..93ec4d7497 100644 --- a/radio/1.2/IRadioResponse.hal +++ b/radio/1.2/IRadioResponse.hal @@ -72,4 +72,20 @@ interface IRadioResponse extends @1.1::IRadioResponse { * RadioError:INTERNAL_ERR */ oneway setLinkCapacityReportingCriteriaResponse(RadioResponseInfo info); + + /** + * @param calls Current call list + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway getCurrentCallsResponse_1_2(RadioResponseInfo info, vec calls); }; diff --git a/radio/1.2/types.hal b/radio/1.2/types.hal index f2f0b69b37..c353645cc7 100644 --- a/radio/1.2/types.hal +++ b/radio/1.2/types.hal @@ -16,6 +16,7 @@ package android.hardware.radio@1.2; +import @1.0::Call; import @1.0::CdmaSignalStrength; import @1.0::CardState; import @1.0::CardStatus; @@ -125,6 +126,33 @@ enum IndicationFilter : int32_t { PHYSICAL_CHANNEL_CONFIG = 1 << 4, }; +/** + * Audio codec which is used on GSM, UMTS, and CDMA. These values must be opaque + * to the Android framework. Only for display. + */ +enum AudioQuality : int32_t { + /** Unspecified audio codec */ + UNSPECIFIED, + /** AMR (Narrowband) audio codec */ + AMR, + /** AMR (Wideband) audio codec */ + AMR_WB, + /** GSM Enhanced Full-Rate audio codec */ + GSM_EFR, + /** GSM Full-Rate audio codec */ + GSM_FR, + /** GSM Half-Rate audio codec */ + GSM_HR, + /** Enhanced Variable rate codec */ + EVRC, + /** Enhanced Variable rate codec revision B */ + EVRC_B, + /** Enhanced Variable rate codec (Wideband) */ + EVRC_WB, + /** Enhanced Variable rate codec (Narrowband) */ + EVRC_NW, +}; + struct NetworkScanRequest { ScanType type; @@ -364,3 +392,8 @@ enum DataRequestReason : int32_t { */ HANDOVER = 0x03, }; + +struct Call { + @1.0::Call base; + AudioQuality audioQuality; +};