diff options
author | Wileen Chiu <wileenc@quicinc.com> | 2018-07-01 14:21:50 -0700 |
---|---|---|
committer | Wileen Chiu <wileenc@quicinc.com> | 2019-01-11 11:58:31 -0800 |
commit | f2ec298d7d60c6cb797b693558ac39cdd9a8cf52 (patch) | |
tree | 128d5faeae183539aa64bf3eb2a1b672c0600a16 /telephony/java | |
parent | a24ced9e9bff3fe4b5af9411c7e773b54f1bb093 (diff) |
IMS: Propagate media profile changed message
- RTT Voice information will be passed to the UI via
media profile changed message
- The RTT voice information - SPEECH/SILENCE, will be conveyed
via the ImsStreamMediaProfile.hasRttAudioSpeech
- A connection event will be sent from frameworks to the UI -
EVENT_RTT_AUDIO_INDICATION_CHANGED
- Add listeners, connection event and extras to propagate
media profile changed to the UI
Test: Manual
Bug: 110976450
Change-Id: I34d2dd612915d65f5047986dabece968c78f0abe
Diffstat (limited to 'telephony/java')
6 files changed, 63 insertions, 1 deletions
diff --git a/telephony/java/android/telephony/ims/ImsCallSession.java b/telephony/java/android/telephony/ims/ImsCallSession.java index df903cc270a2..397d5d9b4eb5 100644 --- a/telephony/java/android/telephony/ims/ImsCallSession.java +++ b/telephony/java/android/telephony/ims/ImsCallSession.java @@ -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); + } + } } /** diff --git a/telephony/java/android/telephony/ims/ImsCallSessionListener.java b/telephony/java/android/telephony/ims/ImsCallSessionListener.java index a7f124a5b791..a4696a3f93aa 100644 --- a/telephony/java/android/telephony/ims/ImsCallSessionListener.java +++ b/telephony/java/android/telephony/ims/ImsCallSessionListener.java @@ -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); + } + } } diff --git a/telephony/java/android/telephony/ims/ImsStreamMediaProfile.java b/telephony/java/android/telephony/ims/ImsStreamMediaProfile.java index 52d72b5847b5..837ef54a2f24 100644 --- a/telephony/java/android/telephony/ims/ImsStreamMediaProfile.java +++ b/telephony/java/android/telephony/ims/ImsStreamMediaProfile.java @@ -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; + } } diff --git a/telephony/java/android/telephony/ims/aidl/IImsCallSessionListener.aidl b/telephony/java/android/telephony/ims/aidl/IImsCallSessionListener.aidl index f25b4b148605..d0b31e16a4f0 100644 --- a/telephony/java/android/telephony/ims/aidl/IImsCallSessionListener.aidl +++ b/telephony/java/android/telephony/ims/aidl/IImsCallSessionListener.aidl @@ -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); } diff --git a/telephony/java/android/telephony/ims/compat/stub/ImsCallSessionImplBase.java b/telephony/java/android/telephony/ims/compat/stub/ImsCallSessionImplBase.java index 23de2fd3c32c..bc58e46806c2 100644 --- a/telephony/java/android/telephony/ims/compat/stub/ImsCallSessionImplBase.java +++ b/telephony/java/android/telephony/ims/compat/stub/ImsCallSessionImplBase.java @@ -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); + } } } diff --git a/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl b/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl index a8e8b7dd03aa..bbb27af1ba36 100644 --- a/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl +++ b/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl @@ -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); } |