From 840162d2b412af9a90b3ab41eb9f7c9de18772f7 Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Wed, 12 Nov 2014 15:47:02 -0800 Subject: [PATCH] Add telephony.DisconnectCause for merged IMS call. 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 --- .../java/android/telephony/DisconnectCause.java | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/telephony/java/android/telephony/DisconnectCause.java b/telephony/java/android/telephony/DisconnectCause.java index 6fe10dc9d256..189197658d2d 100644 --- a/telephony/java/android/telephony/DisconnectCause.java +++ b/telephony/java/android/telephony/DisconnectCause.java @@ -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; } -- 2.11.0