OSDN Git Service

Add telephony.DisconnectCause for merged IMS call.
authorAndrew Lee <anwlee@google.com>
Wed, 12 Nov 2014 23:47:02 +0000 (15:47 -0800)
committerAndrew Lee <anwlee@google.com>
Wed, 12 Nov 2014 23:52:32 +0000 (15:52 -0800)
When merged, IMS calls are consolidated into one call. Thus they
"disconnect", even though the user can continue to comminucate
with the party on that call.

We want to recognize this scenario so we can control relevant
behaviors (ie.don't play the "end call" tone in this case).

Bug: 18291234
Change-Id: I93247f88ed74467470504bec88fcfb7ed714f0ff

telephony/java/android/telephony/DisconnectCause.java

index 6fe10dc..1891976 100644 (file)
@@ -160,11 +160,27 @@ public class DisconnectCause {
      */
     public static final int OUTGOING_CANCELED = 44;
 
+    /**
+     * The call, which was an IMS call, disconnected because it merged with another call.
+     */
+    public static final int IMS_MERGED_SUCCESSFULLY = 45;
+
+    //*********************************************************************************************
+    // When adding a disconnect type:
+    // 1) Please assign the new type the next id value below.
+    // 2) Increment the next id value below to a new value.
+    // 3) Update MAXIMUM_VALID_VALUE to the new disconnect type.
+    // 4) Update toString() with the newly added disconnect type.
+    // 5) Update android.telecom.DisconnectCauseUtil with any mappings to a telecom.DisconnectCause.
+    //
+    // NextId: 46
+    //*********************************************************************************************
+
     /** Smallest valid value for call disconnect codes. */
     public static final int MINIMUM_VALID_VALUE = NOT_DISCONNECTED;
 
     /** Largest valid value for call disconnect codes. */
-    public static final int MAXIMUM_VALID_VALUE = OUTGOING_CANCELED;
+    public static final int MAXIMUM_VALID_VALUE = IMS_MERGED_SUCCESSFULLY;
 
     /** Private constructor to avoid class instantiation. */
     private DisconnectCause() {
@@ -262,6 +278,8 @@ public class DisconnectCause {
             return "OUTGOING_FAILURE";
         case OUTGOING_CANCELED:
             return "OUTGOING_CANCELED";
+        case IMS_MERGED_SUCCESSFULLY:
+            return "IMS_MERGED_SUCCESSFULLY";
         default:
             return "INVALID: " + cause;
         }