OSDN Git Service

Fix Calling screen shows "In Call" on pressing mute button
authorGuo-Bin Zhang <Guo-binZhang@motorola.com>
Tue, 18 Aug 2009 21:56:49 +0000 (16:56 -0500)
committerWink Saville <wink@google.com>
Fri, 21 Aug 2009 00:40:40 +0000 (17:40 -0700)
Send a flash command to CDMA network for putting the other party on hold.
For CDMA networks which do not support this the user would just hear a beep
from the network.
For CDMA networks which do support this, it will put the other party on hold.

telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java [changed mode: 0755->0644]

old mode 100755 (executable)
new mode 100644 (file)
index 7bbf91d..3b2c90c
@@ -294,8 +294,14 @@ public final class CdmaCallTracker extends CallTracker {
         // Should we bother with this check?
         if (ringingCall.getState() == CdmaCall.State.INCOMING) {
             throw new CallStateException("cannot be in the incoming state");
-        } else {
+        } else if (foregroundCall.getConnections().size() > 1) {
             flashAndSetGenericTrue();
+        } else {
+            // Send a flash command to CDMA network for putting the other party on hold.
+            // For CDMA networks which do not support this the user would just hear a beep
+            // from the network. For CDMA networks which do support it will put the other
+            // party on hold.
+            cm.sendCDMAFeatureCode("", obtainMessage(EVENT_SWITCH_RESULT));
         }
     }