Pass Message through sendDtmf.
Andrew Lee [Tue, 9 Dec 2014 22:51:53 +0000 (14:51 -0800)]
Do not invoke sendToTarget ourselves. Instead, pass the message
through to the ImsCallSession implementation, and rely on that
to send the message to the target.

Bug: 18643493
Change-Id: I37a891ecf71d55b93f24f9b853b64b34a24e0910

src/java/com/android/ims/ImsCall.java
src/java/com/android/ims/internal/ImsCallSession.java

index fd927d8..4a20959 100644 (file)
@@ -1270,18 +1270,6 @@ public class ImsCall implements ICall {
         }
     }
 
-
-    /**
-     * Sends a DTMF code. According to <a href="http://tools.ietf.org/html/rfc2833">RFC 2833</a>,
-     * event 0 ~ 9 maps to decimal value 0 ~ 9, '*' to 10, '#' to 11, event 'A' ~ 'D' to 12 ~ 15,
-     * and event flash to 16. Currently, event flash is not supported.
-     *
-     * @param char that represents the DTMF digit to send.
-     */
-    public void sendDtmf(char c) {
-        sendDtmf(c, null);
-    }
-
     /**
      * Sends a DTMF code. According to <a href="http://tools.ietf.org/html/rfc2833">RFC 2833</a>,
      * event 0 ~ 9 maps to decimal value 0 ~ 9, '*' to 10, '#' to 11, event 'A' ~ 'D' to 12 ~ 15,
@@ -1297,13 +1285,9 @@ public class ImsCall implements ICall {
 
         synchronized(mLockObj) {
             if (mSession != null) {
-                mSession.sendDtmf(c);
+                mSession.sendDtmf(c, result);
             }
         }
-
-        if (result != null) {
-            result.sendToTarget();
-        }
     }
 
     /**
index 153fe3f..ccb0d1b 100644 (file)
@@ -16,6 +16,7 @@
 
 package com.android.ims.internal;
 
+import android.os.Message;
 import android.os.RemoteException;
 
 import com.android.ims.ImsCallProfile;
@@ -813,13 +814,13 @@ public class ImsCallSession {
      *
      * @param c the DTMF to send. '0' ~ '9', 'A' ~ 'D', '*', '#' are valid inputs.
      */
-    public void sendDtmf(char c) {
+    public void sendDtmf(char c, Message result) {
         if (mClosed) {
             return;
         }
 
         try {
-            miSession.sendDtmf(c, null);
+            miSession.sendDtmf(c, result);
         } catch (RemoteException e) {
         }
     }