From d409173570e504f36db80ecfaa3284eb35f5a3c7 Mon Sep 17 00:00:00 2001 From: Tyler Gunn Date: Mon, 29 Jun 2015 09:15:37 -0700 Subject: Add capability to indicate a conference will never have children. Used to mark IMS conference calls so that it is possible to know that we never expect child calls to be associated with the conference. Bug: 21085329 Change-Id: I7e5c82622ed382e431d4156878c28b37421e1e35 --- telecomm/java/android/telecom/Connection.java | 28 +++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'telecomm/java/android') diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java index 6055211..16ecd39 100644 --- a/telecomm/java/android/telecom/Connection.java +++ b/telecomm/java/android/telecom/Connection.java @@ -34,7 +34,6 @@ import android.view.Surface; import java.util.ArrayList; import java.util.Collections; -import java.util.HashMap; import java.util.List; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; @@ -195,8 +194,30 @@ public abstract class Connection extends Conferenceable { */ public static final int CAPABILITY_CAN_PAUSE_VIDEO = 0x00100000; + /** + * For a conference, indicates the conference will not have child connections. + *

+ * An example of a conference with child connections is a GSM conference call, where the radio + * retains connections to the individual participants of the conference. Another example is an + * IMS conference call where conference event package functionality is supported; in this case + * the conference server ensures the radio is aware of the participants in the conference, which + * are represented by child connections. + *

+ * An example of a conference with no child connections is an IMS conference call with no + * conference event package support. Such a conference is represented by the radio as a single + * connection to the IMS conference server. + *

+ * Indicating whether a conference has children or not is important to help user interfaces + * visually represent a conference. A conference with no children, for example, will have the + * conference connection shown in the list of calls on a Bluetooth device, where if the + * conference has children, only the children will be shown in the list of calls on a Bluetooth + * device. + * @hide + */ + public static final int CAPABILITY_CONFERENCE_HAS_NO_CHILDREN = 0x00200000; + //********************************************************************************************** - // Next CAPABILITY value: 0x00200000 + // Next CAPABILITY value: 0x00400000 //********************************************************************************************** // Flag controlling whether PII is emitted into the logs @@ -309,6 +330,9 @@ public abstract class Connection extends Conferenceable { if (can(capabilities, CAPABILITY_CAN_PAUSE_VIDEO)) { builder.append(" CAPABILITY_CAN_PAUSE_VIDEO"); } + if (can(capabilities, CAPABILITY_CONFERENCE_HAS_NO_CHILDREN)) { + builder.append(" CAPABILITY_SINGLE_PARTY_CONFERENCE"); + } builder.append("]"); return builder.toString(); } -- cgit v1.1