Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5e233037 authored by Takumi Hori's avatar Takumi Hori Committed by Jordan Liu
Browse files

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
parent 4365f2e6
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@ hidl_interface {
        "android.hidl.base@1.0",
    ],
    types: [
        "AudioQuality",
        "Call",
        "CardStatus",
        "CellConnectionStatus",
        "CellIdentityCdma",
+16 −0
Original line number Diff line number Diff line
@@ -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);
};
+33 −0
Original line number Diff line number Diff line
@@ -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;
};