Merge "IMS: Propagate media profile changed message"

This commit is contained in:
Hall Liu
2019-01-14 21:28:28 +00:00
committed by Gerrit Code Review
9 changed files with 83 additions and 1 deletions

View File

@@ -41453,10 +41453,12 @@ package android.telecom {
field public static final int CAPABILITY_SWAP_CONFERENCE = 8; // 0x8
field public static final java.lang.String EVENT_CALL_MERGE_FAILED = "android.telecom.event.CALL_MERGE_FAILED";
field public static final java.lang.String EVENT_CALL_PULL_FAILED = "android.telecom.event.CALL_PULL_FAILED";
field public static final java.lang.String EVENT_RTT_AUDIO_INDICATION_CHANGED = "android.telecom.event.RTT_AUDIO_INDICATION_CHANGED";
field public static final java.lang.String EXTRA_ANSWERING_DROPS_FG_CALL = "android.telecom.extra.ANSWERING_DROPS_FG_CALL";
field public static final java.lang.String EXTRA_ANSWERING_DROPS_FG_CALL_APP_NAME = "android.telecom.extra.ANSWERING_DROPS_FG_CALL_APP_NAME";
field public static final java.lang.String EXTRA_CALL_SUBJECT = "android.telecom.extra.CALL_SUBJECT";
field public static final java.lang.String EXTRA_CHILD_ADDRESS = "android.telecom.extra.CHILD_ADDRESS";
field public static final java.lang.String EXTRA_IS_RTT_AUDIO_PRESENT = "android.telecom.extra.IS_RTT_AUDIO_PRESENT";
field public static final java.lang.String EXTRA_LAST_FORWARDED_NUMBER = "android.telecom.extra.LAST_FORWARDED_NUMBER";
field public static final java.lang.String EXTRA_SIP_INVITE = "android.telecom.extra.SIP_INVITE";
field public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY = 32; // 0x20

View File

@@ -6097,6 +6097,7 @@ package android.telephony.ims {
method public void callSessionInviteParticipantsRequestDelivered();
method public void callSessionInviteParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
method public void callSessionMayHandover(int, int);
method public void callSessionRttAudioIndicatorChanged(android.telephony.ims.ImsStreamMediaProfile);
method public void callSessionMergeComplete(android.telephony.ims.stub.ImsCallSessionImplBase);
method public void callSessionMergeFailed(android.telephony.ims.ImsReasonInfo);
method public void callSessionMergeStarted(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
@@ -6513,10 +6514,12 @@ package android.telephony.ims {
method public int describeContents();
method public int getAudioDirection();
method public int getAudioQuality();
method public boolean getRttAudioSpeech();
method public int getRttMode();
method public int getVideoDirection();
method public int getVideoQuality();
method public boolean isRttCall();
method public void setRttAudioSpeech(boolean);
method public void setRttMode(int);
method public void writeToParcel(android.os.Parcel, int);
field public static final int AUDIO_QUALITY_AMR = 1; // 0x1

View File

@@ -504,6 +504,14 @@ public abstract class Connection extends Conferenceable {
public static final String EXTRA_ORIGINAL_CONNECTION_ID =
"android.telecom.extra.ORIGINAL_CONNECTION_ID";
/**
* Boolean connection extra key set on the extras passed to
* {@link Connection#sendConnectionEvent} which indicates that audio is present
* on the RTT call when the extra value is true.
*/
public static final String EXTRA_IS_RTT_AUDIO_PRESENT =
"android.telecom.extra.IS_RTT_AUDIO_PRESENT";
/**
* 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
@@ -619,6 +627,13 @@ public abstract class Connection extends Conferenceable {
*/
public static final String EXTRA_SIP_INVITE = "android.telecom.extra.SIP_INVITE";
/**
* Connection event used to inform an {@link InCallService} that the RTT audio indication
* has changed.
*/
public static final String EVENT_RTT_AUDIO_INDICATION_CHANGED =
"android.telecom.event.RTT_AUDIO_INDICATION_CHANGED";
// Flag controlling whether PII is emitted into the logs
private static final boolean PII_DEBUG = Log.isLoggable(android.util.Log.DEBUG);

View File

@@ -443,6 +443,13 @@ public class ImsCallSession {
public void callSessionRttMessageReceived(String rttMessage) {
// no-op
}
/**
* While in call, there has been a change in RTT audio indicator.
*/
public void callSessionRttAudioIndicatorChanged(ImsStreamMediaProfile profile) {
// no-op
}
}
private final IImsCallSession miSession;
@@ -1397,6 +1404,16 @@ public class ImsCallSession {
mListener.callSessionRttMessageReceived(rttMessage);
}
}
/**
* While in call, there has been a change in RTT audio indicator.
*/
@Override
public void callSessionRttAudioIndicatorChanged(ImsStreamMediaProfile profile) {
if (mListener != null) {
mListener.callSessionRttAudioIndicatorChanged(profile);
}
}
}
/**

View File

@@ -599,5 +599,18 @@ public class ImsCallSessionListener {
throw new RuntimeException(e);
}
}
/**
* While in call, there has been a change in RTT audio indicator.
*
* @param profile updated ImsStreamMediaProfile
*/
public void callSessionRttAudioIndicatorChanged(ImsStreamMediaProfile profile) {
try {
mListener.callSessionRttAudioIndicatorChanged(profile);
} catch (RemoteException e) {
throw new RuntimeException(e);
}
}
}

View File

@@ -97,6 +97,9 @@ public final class ImsStreamMediaProfile implements Parcelable {
// Rtt related information
/** @hide */
public int mRttMode;
// RTT Audio Speech Indicator
/** @hide */
public boolean mHasRttAudioSpeech = false;
/** @hide */
public ImsStreamMediaProfile(Parcel in) {
@@ -197,7 +200,8 @@ public final class ImsStreamMediaProfile implements Parcelable {
", audioDirection=" + mAudioDirection +
", videoQuality=" + mVideoQuality +
", videoDirection=" + mVideoDirection +
", rttMode=" + mRttMode + " }";
", rttMode=" + mRttMode +
", hasRttAudioSpeech=" + mHasRttAudioSpeech + " }";
}
@Override
@@ -212,6 +216,7 @@ public final class ImsStreamMediaProfile implements Parcelable {
out.writeInt(mVideoQuality);
out.writeInt(mVideoDirection);
out.writeInt(mRttMode);
out.writeBoolean(mHasRttAudioSpeech);
}
private void readFromParcel(Parcel in) {
@@ -220,6 +225,7 @@ public final class ImsStreamMediaProfile implements Parcelable {
mVideoQuality = in.readInt();
mVideoDirection = in.readInt();
mRttMode = in.readInt();
mHasRttAudioSpeech = in.readBoolean();
}
public static final Creator<ImsStreamMediaProfile> CREATOR =
@@ -250,6 +256,10 @@ public final class ImsStreamMediaProfile implements Parcelable {
mRttMode = rttMode;
}
public void setRttAudioSpeech(boolean audioOn) {
mHasRttAudioSpeech = audioOn;
}
public int getAudioQuality() {
return mAudioQuality;
}
@@ -269,4 +279,8 @@ public final class ImsStreamMediaProfile implements Parcelable {
public int getRttMode() {
return mRttMode;
}
public boolean getRttAudioSpeech() {
return mHasRttAudioSpeech;
}
}

View File

@@ -138,4 +138,10 @@ oneway interface IImsCallSessionListener {
* @param rttMessage Received RTT message
*/
void callSessionRttMessageReceived(in String rttMessage);
/*
* While in call, there has been a change in RTT audio indicator.
* @param profile updated ImsStreamMediaProfile
*/
void callSessionRttAudioIndicatorChanged(in ImsStreamMediaProfile profile);
}

View File

@@ -591,5 +591,11 @@ public class ImsCallSessionImplBase extends IImsCallSession.Stub {
public void callSessionRttMessageReceived(String rttMessage) throws RemoteException {
mNewListener.callSessionRttMessageReceived(rttMessage);
}
@Override
public void callSessionRttAudioIndicatorChanged(ImsStreamMediaProfile profile)
throws RemoteException {
mNewListener.callSessionRttAudioIndicatorChanged(profile);
}
}
}

View File

@@ -152,4 +152,10 @@ oneway interface IImsCallSessionListener {
* @param rttMessage Received RTT message
*/
void callSessionRttMessageReceived(in String rttMessage);
/*
* While in call, there has been a change in RTT audio indicator.
* @param profile updated ImsStreamMediaProfile
*/
void callSessionRttAudioIndicatorChanged(in ImsStreamMediaProfile profile);
}