Displaying HD audio indicator for GSM/CDMA calls

Return audio quality information during a voice call along with call
details from RIL. This information is expected to be used to display
HD audio indicator when wide band speech codec is notified.
This feature is necessary to fulfill some carriers requirement.

Test: manual - Checked that HD audio indicator is displayed on UI in
GSM/CDMA calls.
Bug: 30207043

Change-Id: Ic6518b7b5c37c4b9cfcd83bd0c5b836acd3f60da
This commit is contained in:
Takumi Hori
2017-11-29 12:23:11 +09:00
committed by Jordan Liu
parent 4365f2e6bc
commit 5e2330370f
3 changed files with 51 additions and 0 deletions

View File

@@ -19,6 +19,8 @@ hidl_interface {
"android.hidl.base@1.0",
],
types: [
"AudioQuality",
"Call",
"CardStatus",
"CellConnectionStatus",
"CellIdentityCdma",

View File

@@ -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<Call> calls);
};

View File

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