diff --git a/telephony/java/com/android/ims/ImsCallProfile.java b/telephony/java/com/android/ims/ImsCallProfile.java index 8b7901ccda76e..9de938a0e54db 100644 --- a/telephony/java/com/android/ims/ImsCallProfile.java +++ b/telephony/java/com/android/ims/ImsCallProfile.java @@ -114,6 +114,10 @@ public class ImsCallProfile implements Parcelable { public static final String EXTRA_CALL_MODE_CHANGEABLE = "call_mode_changeable"; public static final String EXTRA_CONFERENCE_AVAIL = "conference_avail"; + // Extra string for internal use only. OEMs should not use + // this for packing extras. + public static final String EXTRA_OEM_EXTRAS = "OemCallExtras"; + /** * Integer extra properties * oir : Rule for originating identity (number) presentation, MO/MT. @@ -150,6 +154,18 @@ public class ImsCallProfile implements Parcelable { // Call for USSD message public static final int DIALSTRING_USSD = 2; + /** + * Values for causes that restrict call types + */ + // Default cause not restricted at peer and HD is supported + public static final int CALL_RESTRICT_CAUSE_NONE = 0; + // Service not supported by RAT at peer + public static final int CALL_RESTRICT_CAUSE_RAT = 1; + // Service Disabled at peer + public static final int CALL_RESTRICT_CAUSE_DISABLED = 2; + // HD is not supported + public static final int CALL_RESTRICT_CAUSE_HD = 3; + /** * String extra properties * oi : Originating identity (number), MT only @@ -164,11 +180,10 @@ public class ImsCallProfile implements Parcelable { public int mServiceType; public int mCallType; + public int mRestrictCause = CALL_RESTRICT_CAUSE_NONE; public Bundle mCallExtras; public ImsStreamMediaProfile mMediaProfile; - - public ImsCallProfile(Parcel in) { readFromParcel(in); } diff --git a/telephony/java/com/android/ims/ImsStreamMediaProfile.java b/telephony/java/com/android/ims/ImsStreamMediaProfile.java index 003499c9cd188..359b2707658c2 100644 --- a/telephony/java/com/android/ims/ImsStreamMediaProfile.java +++ b/telephony/java/com/android/ims/ImsStreamMediaProfile.java @@ -41,10 +41,18 @@ public class ImsStreamMediaProfile implements Parcelable { * Audio information */ public static final int AUDIO_QUALITY_NONE = 0; - public static final int AUDIO_QUALITY_AMR = (1 << 0); - public static final int AUDIO_QUALITY_AMR_WB = (1 << 1); + public static final int AUDIO_QUALITY_AMR = 1; + public static final int AUDIO_QUALITY_AMR_WB = 2; + public static final int AUDIO_QUALITY_QCELP13K = 3; + public static final int AUDIO_QUALITY_EVRC = 4; + public static final int AUDIO_QUALITY_EVRC_B = 5; + public static final int AUDIO_QUALITY_EVRC_WB = 6; + public static final int AUDIO_QUALITY_EVRC_NW = 7; + public static final int AUDIO_QUALITY_GSM_EFR = 8; + public static final int AUDIO_QUALITY_GSM_FR = 9; + public static final int AUDIO_QUALITY_GSM_HR = 10; - /** + /** * Video information */ public static final int VIDEO_QUALITY_NONE = 0; diff --git a/telephony/java/com/android/ims/internal/IImsCallSession.aidl b/telephony/java/com/android/ims/internal/IImsCallSession.aidl index 16b0cd5e1c95c..d1946e3f37f46 100644 --- a/telephony/java/com/android/ims/internal/IImsCallSession.aidl +++ b/telephony/java/com/android/ims/internal/IImsCallSession.aidl @@ -54,6 +54,13 @@ interface IImsCallSession { */ ImsCallProfile getLocalCallProfile(); + /** + * Gets the remote call profile that this session is associated with + * + * @return the remote call profile that this session is associated with + */ + ImsCallProfile getRemoteCallProfile(); + /** * Gets the value associated with the specified property of this session. *