aboutsummaryrefslogtreecommitdiff
path: root/src/java/com/android/ims/ImsCall.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/java/com/android/ims/ImsCall.java')
-rw-r--r--src/java/com/android/ims/ImsCall.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/java/com/android/ims/ImsCall.java b/src/java/com/android/ims/ImsCall.java
index 04781e33..667cb3d4 100644
--- a/src/java/com/android/ims/ImsCall.java
+++ b/src/java/com/android/ims/ImsCall.java
@@ -1648,16 +1648,20 @@ public class ImsCall implements ICall {
/**
* Sends a user-requested RTT upgrade request.
+ * @param rttOn true if the request is to turn on RTT, false to turn off.
*/
- public void sendRttModifyRequest() {
+ public void sendRttModifyRequest(boolean rttOn) {
logi("sendRttModifyRequest");
synchronized(mLockObj) {
if (mSession == null) {
loge("sendRttModifyRequest::no session");
}
- if (mCallProfile.mMediaProfile.isRttCall()) {
- logi("sendRttModifyRequest::Already RTT call, ignoring.");
+ if (rttOn && mCallProfile.mMediaProfile.isRttCall()) {
+ logi("sendRttModifyRequest::Already RTT call, ignoring request to turn on.");
+ return;
+ } else if (!rttOn && !mCallProfile.mMediaProfile.isRttCall()) {
+ logi("sendRttModifyRequest::Not RTT call, ignoring request to turn off.");
return;
}
// Make a copy of the current ImsCallProfile and modify it to enable RTT
@@ -1665,7 +1669,9 @@ public class ImsCall implements ICall {
mCallProfile.writeToParcel(p, 0);
p.setDataPosition(0);
ImsCallProfile requestedProfile = new ImsCallProfile(p);
- requestedProfile.mMediaProfile.setRttMode(ImsStreamMediaProfile.RTT_MODE_FULL);
+ requestedProfile.mMediaProfile.setRttMode(rttOn
+ ? ImsStreamMediaProfile.RTT_MODE_FULL
+ : ImsStreamMediaProfile.RTT_MODE_DISABLED);
mSession.sendRttModifyRequest(requestedProfile);
}