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
diff --git a/radio/1.2/Android.bp b/radio/1.2/Android.bp
index f4ca1cf..552e33d 100644
--- a/radio/1.2/Android.bp
+++ b/radio/1.2/Android.bp
@@ -19,6 +19,8 @@
"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 c356954..93ec4d7 100644
--- a/radio/1.2/IRadioResponse.hal
+++ b/radio/1.2/IRadioResponse.hal
@@ -72,4 +72,20 @@
* 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);
};
diff --git a/radio/1.2/types.hal b/radio/1.2/types.hal
index f2f0b69..c353645 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 @@
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 @@
*/
HANDOVER = 0x03,
};
+
+struct Call {
+ @1.0::Call base;
+ AudioQuality audioQuality;
+};