Merge "Wire up the stopRtt API"
diff --git a/src/java/com/android/ims/ImsCall.java b/src/java/com/android/ims/ImsCall.java
index 04781e3..667cb3d 100644
--- a/src/java/com/android/ims/ImsCall.java
+++ b/src/java/com/android/ims/ImsCall.java
@@ -1648,16 +1648,20 @@
 
     /**
      * 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 @@
             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);
         }