diff options
| -rw-r--r-- | api/current.txt | 22 | ||||
| -rw-r--r-- | telecomm/java/android/telecom/Connection.java | 57 | ||||
| -rw-r--r-- | telephony/java/android/telephony/Annotation.java | 27 |
3 files changed, 103 insertions, 3 deletions
diff --git a/api/current.txt b/api/current.txt index 0d6b4656cd83..c71855cab92b 100644 --- a/api/current.txt +++ b/api/current.txt @@ -43364,6 +43364,27 @@ package android.telecom { method public final void setVideoProvider(android.telecom.Connection.VideoProvider); method public final void setVideoState(int); method public static String stateToString(int); + field public static final int AUDIO_CODEC_AMR = 1; // 0x1 + field public static final int AUDIO_CODEC_AMR_WB = 2; // 0x2 + field public static final int AUDIO_CODEC_EVRC = 4; // 0x4 + field public static final int AUDIO_CODEC_EVRC_B = 5; // 0x5 + field public static final int AUDIO_CODEC_EVRC_NW = 7; // 0x7 + field public static final int AUDIO_CODEC_EVRC_WB = 6; // 0x6 + field public static final int AUDIO_CODEC_EVS_FB = 20; // 0x14 + field public static final int AUDIO_CODEC_EVS_NB = 17; // 0x11 + field public static final int AUDIO_CODEC_EVS_SWB = 19; // 0x13 + field public static final int AUDIO_CODEC_EVS_WB = 18; // 0x12 + field public static final int AUDIO_CODEC_G711A = 13; // 0xd + field public static final int AUDIO_CODEC_G711AB = 15; // 0xf + field public static final int AUDIO_CODEC_G711U = 11; // 0xb + field public static final int AUDIO_CODEC_G722 = 14; // 0xe + field public static final int AUDIO_CODEC_G723 = 12; // 0xc + field public static final int AUDIO_CODEC_G729 = 16; // 0x10 + field public static final int AUDIO_CODEC_GSM_EFR = 8; // 0x8 + field public static final int AUDIO_CODEC_GSM_FR = 9; // 0x9 + field public static final int AUDIO_CODEC_GSM_HR = 10; // 0xa + field public static final int AUDIO_CODEC_NONE = 0; // 0x0 + field public static final int AUDIO_CODEC_QCELP13K = 3; // 0x3 field public static final int CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO = 8388608; // 0x800000 field public static final int CAPABILITY_CAN_PAUSE_VIDEO = 1048576; // 0x100000 field public static final int CAPABILITY_CAN_PULL_CALL = 16777216; // 0x1000000 @@ -43397,6 +43418,7 @@ package android.telecom { field public static final String EVENT_RTT_AUDIO_INDICATION_CHANGED = "android.telecom.event.RTT_AUDIO_INDICATION_CHANGED"; field public static final String EXTRA_ANSWERING_DROPS_FG_CALL = "android.telecom.extra.ANSWERING_DROPS_FG_CALL"; field public static final String EXTRA_ANSWERING_DROPS_FG_CALL_APP_NAME = "android.telecom.extra.ANSWERING_DROPS_FG_CALL_APP_NAME"; + field public static final String EXTRA_AUDIO_CODEC = "android.telecom.extra.AUDIO_CODEC"; field public static final String EXTRA_CALL_SUBJECT = "android.telecom.extra.CALL_SUBJECT"; field public static final String EXTRA_CHILD_ADDRESS = "android.telecom.extra.CHILD_ADDRESS"; field public static final String EXTRA_IS_RTT_AUDIO_PRESENT = "android.telecom.extra.IS_RTT_AUDIO_PRESENT"; diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java index 4c22ba9715b0..ae20aed2d3c7 100644 --- a/telecomm/java/android/telecom/Connection.java +++ b/telecomm/java/android/telecom/Connection.java @@ -35,9 +35,7 @@ import android.os.Message; import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.os.SystemClock; -import android.telephony.Annotation.RilRadioTechnology; -import android.telephony.ServiceState; -import android.telephony.TelephonyManager; +import android.telephony.ims.ImsStreamMediaProfile; import android.util.ArraySet; import android.view.Surface; @@ -475,6 +473,52 @@ public abstract class Connection extends Conferenceable { //********************************************************************************************** /** + * Define IMS Audio Codec + */ + // Current audio codec is NONE + public static final int AUDIO_CODEC_NONE = ImsStreamMediaProfile.AUDIO_QUALITY_NONE; // 0 + // Current audio codec is AMR + public static final int AUDIO_CODEC_AMR = ImsStreamMediaProfile.AUDIO_QUALITY_AMR; // 1 + // Current audio codec is AMR_WB + public static final int AUDIO_CODEC_AMR_WB = ImsStreamMediaProfile.AUDIO_QUALITY_AMR_WB; // 2 + // Current audio codec is QCELP13K + public static final int AUDIO_CODEC_QCELP13K = ImsStreamMediaProfile.AUDIO_QUALITY_QCELP13K; //3 + // Current audio codec is EVRC + public static final int AUDIO_CODEC_EVRC = ImsStreamMediaProfile.AUDIO_QUALITY_EVRC; // 4 + // Current audio codec is EVRC_B + public static final int AUDIO_CODEC_EVRC_B = ImsStreamMediaProfile.AUDIO_QUALITY_EVRC_B; // 5 + // Current audio codec is EVRC_WB + public static final int AUDIO_CODEC_EVRC_WB = ImsStreamMediaProfile.AUDIO_QUALITY_EVRC_WB; // 6 + // Current audio codec is EVRC_NW + public static final int AUDIO_CODEC_EVRC_NW = ImsStreamMediaProfile.AUDIO_QUALITY_EVRC_NW; // 7 + // Current audio codec is GSM_EFR + public static final int AUDIO_CODEC_GSM_EFR = ImsStreamMediaProfile.AUDIO_QUALITY_GSM_EFR; // 8 + // Current audio codec is GSM_FR + public static final int AUDIO_CODEC_GSM_FR = ImsStreamMediaProfile.AUDIO_QUALITY_GSM_FR; // 9 + // Current audio codec is GSM_HR + public static final int AUDIO_CODEC_GSM_HR = ImsStreamMediaProfile.AUDIO_QUALITY_GSM_HR; // 10 + // Current audio codec is G711U + public static final int AUDIO_CODEC_G711U = ImsStreamMediaProfile.AUDIO_QUALITY_G711U; // 11 + // Current audio codec is G723 + public static final int AUDIO_CODEC_G723 = ImsStreamMediaProfile.AUDIO_QUALITY_G723; // 12 + // Current audio codec is G711A + public static final int AUDIO_CODEC_G711A = ImsStreamMediaProfile.AUDIO_QUALITY_G711A; // 13 + // Current audio codec is G722 + public static final int AUDIO_CODEC_G722 = ImsStreamMediaProfile.AUDIO_QUALITY_G722; // 14 + // Current audio codec is G711AB + public static final int AUDIO_CODEC_G711AB = ImsStreamMediaProfile.AUDIO_QUALITY_G711AB; // 15 + // Current audio codec is G729 + public static final int AUDIO_CODEC_G729 = ImsStreamMediaProfile.AUDIO_QUALITY_G729; // 16 + // Current audio codec is EVS_NB + public static final int AUDIO_CODEC_EVS_NB = ImsStreamMediaProfile.AUDIO_QUALITY_EVS_NB; // 17 + // Current audio codec is EVS_WB + public static final int AUDIO_CODEC_EVS_WB = ImsStreamMediaProfile.AUDIO_QUALITY_EVS_WB; // 18 + // Current audio codec is EVS_SWB + public static final int AUDIO_CODEC_EVS_SWB = ImsStreamMediaProfile.AUDIO_QUALITY_EVS_SWB; // 19 + // Current audio codec is EVS_FB + public static final int AUDIO_CODEC_EVS_FB = ImsStreamMediaProfile.AUDIO_QUALITY_EVS_FB; // 20 + + /** * Connection extra key used to store the last forwarded number associated with the current * connection. Used to communicate to the user interface that the connection was forwarded via * the specified number. @@ -567,6 +611,13 @@ public abstract class Connection extends Conferenceable { "android.telecom.extra.IS_RTT_AUDIO_PRESENT"; /** + * The audio codec in use for the current {@link Connection}, if known. Valid values include + * {@link #AUDIO_CODEC_AMR_WB} and {@link #AUDIO_CODEC_EVS_WB}. + */ + public static final String EXTRA_AUDIO_CODEC = + "android.telecom.extra.AUDIO_CODEC"; + + /** * Connection event used to inform Telecom that it should play the on hold tone. This is used * to play a tone when the peer puts the current call on hold. Sent to Telecom via * {@link #sendConnectionEvent(String, Bundle)}. diff --git a/telephony/java/android/telephony/Annotation.java b/telephony/java/android/telephony/Annotation.java index 72f758eba39a..f89bbc7d179a 100644 --- a/telephony/java/android/telephony/Annotation.java +++ b/telephony/java/android/telephony/Annotation.java @@ -1,6 +1,7 @@ package android.telephony; import android.annotation.IntDef; +import android.telecom.Connection; import android.telephony.data.ApnSetting; import java.lang.annotation.Retention; @@ -509,4 +510,30 @@ public class Annotation { ServiceState.RIL_RADIO_TECHNOLOGY_LTE_CA, ServiceState.RIL_RADIO_TECHNOLOGY_NR}) public @interface RilRadioTechnology {} + + @IntDef({ + Connection.AUDIO_CODEC_NONE, + Connection.AUDIO_CODEC_AMR, + Connection.AUDIO_CODEC_AMR_WB, + Connection.AUDIO_CODEC_QCELP13K, + Connection.AUDIO_CODEC_EVRC, + Connection.AUDIO_CODEC_EVRC_B, + Connection.AUDIO_CODEC_EVRC_WB, + Connection.AUDIO_CODEC_EVRC_NW, + Connection.AUDIO_CODEC_GSM_EFR, + Connection.AUDIO_CODEC_GSM_FR, + Connection.AUDIO_CODEC_G711U, + Connection.AUDIO_CODEC_G723, + Connection.AUDIO_CODEC_G711A, + Connection.AUDIO_CODEC_G722, + Connection.AUDIO_CODEC_G711AB, + Connection.AUDIO_CODEC_G729, + Connection.AUDIO_CODEC_EVS_NB, + Connection.AUDIO_CODEC_EVS_WB, + Connection.AUDIO_CODEC_EVS_SWB, + Connection.AUDIO_CODEC_EVS_FB + }) + @Retention(RetentionPolicy.SOURCE) + public @interface ImsAudioCodec { + } } |