aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHall Liu <hallliu@google.com>2018-02-09 16:55:05 -0800
committerHall Liu <hallliu@google.com>2018-02-09 18:09:01 -0800
commit43213e2b9bf20b8395d4f081a64c4ef39342e04f (patch)
tree890354c5ac0c7a80ed7437198d1b041588529f32
parent86e1fe5d1bcf1ae458d6c6b4c2d8a37e3663cc10 (diff)
downloadims-43213e2b9bf20b8395d4f081a64c4ef39342e04f.tar.gz
Rtt bugfixes, part 5
* Answer RTT incoming calls with the proper bit set in ImsStreamMediaProfile Bug: 72762206 Test: manual Change-Id: Ic3c4517a06f57d6c5a2a1d92e5eab9df9929dd64
-rw-r--r--src/java/com/android/ims/ImsCall.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/java/com/android/ims/ImsCall.java b/src/java/com/android/ims/ImsCall.java
index 1d728a1a..40d9faa2 100644
--- a/src/java/com/android/ims/ImsCall.java
+++ b/src/java/com/android/ims/ImsCall.java
@@ -605,6 +605,12 @@ public class ImsCall implements ICall {
private int mOverrideReason = ImsReasonInfo.CODE_UNSPECIFIED;
/**
+ * When true, if this call is incoming, it will be answered with an
+ * {@link ImsStreamMediaProfile} that has RTT enabled.
+ */
+ private boolean mAnswerWithRtt = false;
+
+ /**
* Create an IMS call object.
*
* @param context the context for accessing system services
@@ -1135,6 +1141,11 @@ public class ImsCall implements ICall {
public void accept(int callType, ImsStreamMediaProfile profile) throws ImsException {
logi("accept :: callType=" + callType + ", profile=" + profile);
+ if (mAnswerWithRtt) {
+ profile.mRttMode = ImsStreamMediaProfile.RTT_MODE_FULL;
+ logi("accept :: changing media profile RTT mode to full");
+ }
+
synchronized(mLockObj) {
if (mSession == null) {
throw new ImsException("No call to answer",
@@ -1681,6 +1692,10 @@ public class ImsCall implements ICall {
}
}
+ public void setAnswerWithRtt() {
+ mAnswerWithRtt = true;
+ }
+
private void clear(ImsReasonInfo lastReasonInfo) {
mInCall = false;
mHold = false;