diff --git a/api/system-current.txt b/api/system-current.txt index 2022e629eca14..ec7af517180b9 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -5502,6 +5502,9 @@ package android.telephony.ims { } public final class ImsCallProfile implements android.os.Parcelable { + ctor public ImsCallProfile(); + ctor public ImsCallProfile(int, int); + ctor public ImsCallProfile(int, int, android.os.Bundle, android.telephony.ims.ImsStreamMediaProfile); method public int describeContents(); method public java.lang.String getCallExtra(java.lang.String); method public java.lang.String getCallExtra(java.lang.String, java.lang.String); @@ -5525,6 +5528,7 @@ package android.telephony.ims { method public void setCallExtraInt(java.lang.String, int); method public void updateCallExtras(android.telephony.ims.ImsCallProfile); method public void updateCallType(android.telephony.ims.ImsCallProfile); + method public void updateMediaProfile(android.telephony.ims.ImsCallProfile); method public void writeToParcel(android.os.Parcel, int); field public static final int CALL_RESTRICT_CAUSE_DISABLED = 2; // 0x2 field public static final int CALL_RESTRICT_CAUSE_HD = 3; // 0x3 @@ -5862,6 +5866,7 @@ package android.telephony.ims { } public final class ImsStreamMediaProfile implements android.os.Parcelable { + ctor public ImsStreamMediaProfile(int, int, int, int, int); method public void copyFrom(android.telephony.ims.ImsStreamMediaProfile); method public int describeContents(); method public int getAudioDirection(); diff --git a/telephony/java/android/telephony/ims/ImsCallProfile.java b/telephony/java/android/telephony/ims/ImsCallProfile.java index 27e5f943982b0..350dfe3a8d083 100644 --- a/telephony/java/android/telephony/ims/ImsCallProfile.java +++ b/telephony/java/android/telephony/ims/ImsCallProfile.java @@ -296,7 +296,10 @@ public final class ImsCallProfile implements Parcelable { readFromParcel(in); } - /** @hide */ + /** + * Default Constructor that initializes the call profile with service type + * {@link #SERVICE_TYPE_NORMAL} and call type {@link #CALL_TYPE_VIDEO_N_VOICE} + */ public ImsCallProfile() { mServiceType = SERVICE_TYPE_NORMAL; mCallType = CALL_TYPE_VOICE_N_VIDEO; @@ -304,7 +307,25 @@ public final class ImsCallProfile implements Parcelable { mMediaProfile = new ImsStreamMediaProfile(); } - /** @hide */ + /** + * Constructor. + * + * @param serviceType the service type for the call. Can be one of the following: + * {@link #SERVICE_TYPE_NONE}, + * {@link #SERVICE_TYPE_NORMAL}, + * {@link #SERVICE_TYPE_EMERGENCY} + * @param callType the call type. Can be one of the following: + * {@link #CALL_TYPE_VOICE_N_VIDEO}, + * {@link #CALL_TYPE_VOICE}, + * {@link #CALL_TYPE_VIDEO_N_VOICE}, + * {@link #CALL_TYPE_VT}, + * {@link #CALL_TYPE_VT_TX}, + * {@link #CALL_TYPE_VT_RX}, + * {@link #CALL_TYPE_VT_NODIR}, + * {@link #CALL_TYPE_VS}, + * {@link #CALL_TYPE_VS_TX}, + * {@link #CALL_TYPE_VS_RX} + */ public ImsCallProfile(int serviceType, int callType) { mServiceType = serviceType; mCallType = callType; @@ -312,6 +333,35 @@ public final class ImsCallProfile implements Parcelable { mMediaProfile = new ImsStreamMediaProfile(); } + /** + * Constructor. + * + * @param serviceType the service type for the call. Can be one of the following: + * {@link #SERVICE_TYPE_NONE}, + * {@link #SERVICE_TYPE_NORMAL}, + * {@link #SERVICE_TYPE_EMERGENCY} + * @param callType the call type. Can be one of the following: + * {@link #CALL_TYPE_VOICE_N_VIDEO}, + * {@link #CALL_TYPE_VOICE}, + * {@link #CALL_TYPE_VIDEO_N_VOICE}, + * {@link #CALL_TYPE_VT}, + * {@link #CALL_TYPE_VT_TX}, + * {@link #CALL_TYPE_VT_RX}, + * {@link #CALL_TYPE_VT_NODIR}, + * {@link #CALL_TYPE_VS}, + * {@link #CALL_TYPE_VS_TX}, + * {@link #CALL_TYPE_VS_RX} + * @param callExtras A bundle with the call extras. + * @param mediaProfile The IMS stream media profile. + */ + public ImsCallProfile(int serviceType, int callType, Bundle callExtras, + ImsStreamMediaProfile mediaProfile) { + mServiceType = serviceType; + mCallType = callType; + mCallExtras = callExtras; + mMediaProfile = mediaProfile; + } + public String getCallExtra(String name) { return getCallExtra(name, ""); } @@ -375,6 +425,16 @@ public final class ImsCallProfile implements Parcelable { mCallExtras = (Bundle) profile.mCallExtras.clone(); } + /** + * Updates the media profile for the call. + * + * @param profile Call profile with new media profile. + */ + public void updateMediaProfile(ImsCallProfile profile) { + mMediaProfile = profile.mMediaProfile; + } + + @Override public String toString() { return "{ serviceType=" + mServiceType + diff --git a/telephony/java/android/telephony/ims/ImsStreamMediaProfile.java b/telephony/java/android/telephony/ims/ImsStreamMediaProfile.java index 243352bdd180d..137106a011b0e 100644 --- a/telephony/java/android/telephony/ims/ImsStreamMediaProfile.java +++ b/telephony/java/android/telephony/ims/ImsStreamMediaProfile.java @@ -99,6 +99,62 @@ public final class ImsStreamMediaProfile implements Parcelable { readFromParcel(in); } + /** + * Constructor. + * + * @param audioQuality The audio quality. Can be one of the following: + * {@link #AUDIO_QUALITY_AMR}, + * {@link #AUDIO_QUALITY_AMR_WB}, + * {@link #AUDIO_QUALITY_QCELP13K}, + * {@link #AUDIO_QUALITY_EVRC}, + * {@link #AUDIO_QUALITY_EVRC_B}, + * {@link #AUDIO_QUALITY_EVRC_WB}, + * {@link #AUDIO_QUALITY_EVRC_NW}, + * {@link #AUDIO_QUALITY_GSM_EFR}, + * {@link #AUDIO_QUALITY_GSM_FR}, + * {@link #AUDIO_QUALITY_GSM_HR}, + * {@link #AUDIO_QUALITY_G711U}, + * {@link #AUDIO_QUALITY_G723}, + * {@link #AUDIO_QUALITY_G711A}, + * {@link #AUDIO_QUALITY_G722}, + * {@link #AUDIO_QUALITY_G711AB}, + * {@link #AUDIO_QUALITY_G729}, + * {@link #AUDIO_QUALITY_EVS_NB}, + * {@link #AUDIO_QUALITY_EVS_WB}, + * {@link #AUDIO_QUALITY_EVS_SWB}, + * {@link #AUDIO_QUALITY_EVS_FB}, + * @param audioDirection The audio direction. Can be one of the following: + * {@link #DIRECTION_INVALID}, + * {@link #DIRECTION_INACTIVE}, + * {@link #DIRECTION_RECEIVE}, + * {@link #DIRECTION_SEND}, + * {@link #DIRECTION_SEND_RECEIVE}, + * @param videoQuality The video quality. Can be one of the following: + * {@link #VIDEO_QUALITY_NONE}, + * {@link #VIDEO_QUALITY_QCIF}, + * {@link #VIDEO_QUALITY_QVGA_LANDSCAPE}, + * {@link #VIDEO_QUALITY_QVGA_PORTRAIT}, + * {@link #VIDEO_QUALITY_VGA_LANDSCAPE}, + * {@link #VIDEO_QUALITY_VGA_PORTRAIT}, + * @param videoDirection The video direction. Can be one of the following: + * {@link #DIRECTION_INVALID}, + * {@link #DIRECTION_INACTIVE}, + * {@link #DIRECTION_RECEIVE}, + * {@link #DIRECTION_SEND}, + * {@link #DIRECTION_SEND_RECEIVE}, + * @param rttMode The rtt mode. Can be one of the following: + * {@link #RTT_MODE_DISABLED}, + * {@link #RTT_MODE_FULL} + */ + public ImsStreamMediaProfile(int audioQuality, int audioDirection, + int videoQuality, int videoDirection, int rttMode) { + mAudioQuality = audioQuality; + mAudioDirection = audioDirection; + mVideoQuality = videoQuality; + mVideoDirection = videoDirection; + mRttMode = rttMode; + } + /** @hide */ public ImsStreamMediaProfile() { mAudioQuality = AUDIO_QUALITY_NONE;