diff options
Diffstat (limited to 'telecomm/java/android/telecom/Call.java')
| -rw-r--r-- | telecomm/java/android/telecom/Call.java | 114 |
1 files changed, 80 insertions, 34 deletions
diff --git a/telecomm/java/android/telecom/Call.java b/telecomm/java/android/telecom/Call.java index 9273939..fee6495 100644 --- a/telecomm/java/android/telecom/Call.java +++ b/telecomm/java/android/telecom/Call.java @@ -132,7 +132,7 @@ public final class Call { /** * @hide */ - public static final int CAPABILITY_UNUSED = 0x00000010; + public static final int CAPABILITY_UNUSED_1 = 0x00000010; /** Call supports responding via text option. */ public static final int CAPABILITY_RESPOND_VIA_TEXT = 0x00000020; @@ -189,46 +189,55 @@ public final class Call { public static final int CAPABILITY_DISCONNECT_FROM_CONFERENCE = 0x00002000; /** - * Whether the call is a generic conference, where we do not know the precise state of - * participants in the conference (eg. on CDMA). + * Speed up audio setup for MT call. + * @hide */ - public static final int CAPABILITY_GENERIC_CONFERENCE = 0x00004000; + public static final int CAPABILITY_SPEED_UP_MT_AUDIO = 0x00040000; /** - * Call is using high definition audio. + * Call can be upgraded to a video call. + * @hide */ - public static final int CAPABILITY_HIGH_DEF_AUDIO = 0x00008000; + public static final int CAPABILITY_CAN_UPGRADE_TO_VIDEO = 0x00080000; /** - * Call is using WIFI. + * For video calls, indicates whether the outgoing video for the call can be paused using + * the {@link android.telecom.VideoProfile.VideoState#PAUSED} VideoState. */ - public static final int CAPABILITY_WIFI = 0x00010000; + public static final int CAPABILITY_CAN_PAUSE_VIDEO = 0x00100000; + + //****************************************************************************************** + // Next CAPABILITY value: 0x00004000 + //****************************************************************************************** /** - * Indicates that the current device callback number should be shown. + * Whether the call is currently a conference. */ - public static final int CAPABILITY_SHOW_CALLBACK_NUMBER = 0x00020000; + public static final int PROPERTY_CONFERENCE = 0x00000001; /** - * Speed up audio setup for MT call. - * @hide + * Whether the call is a generic conference, where we do not know the precise state of + * participants in the conference (eg. on CDMA). */ - public static final int CAPABILITY_SPEED_UP_MT_AUDIO = 0x00040000; + public static final int PROPERTY_GENERIC_CONFERENCE = 0x00000002; /** - * Call can be upgraded to a video call. - * @hide + * Whether the call is made while the device is in emergency callback mode. */ - public static final int CAPABILITY_CAN_UPGRADE_TO_VIDEO = 0x00080000; + public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 0x00000004; /** - * For video calls, indicates whether the outgoing video for the call can be paused using - * the {@link android.telecom.VideoProfile.VideoState#PAUSED} VideoState. + * Connection is using WIFI. */ - public static final int CAPABILITY_CAN_PAUSE_VIDEO = 0x00100000; + public static final int PROPERTY_WIFI = 0x00000008; + + /** + * Call is using high definition audio. + */ + public static final int PROPERTY_HIGH_DEF_AUDIO = 0x00000010; //****************************************************************************************** - // Next CAPABILITY value: 0x00200000 + // Next PROPERTY value: 0x00000020 //****************************************************************************************** private final Uri mHandle; @@ -314,18 +323,6 @@ public final class Call { if (can(capabilities, CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL)) { builder.append(" CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL"); } - if (can(capabilities, CAPABILITY_HIGH_DEF_AUDIO)) { - builder.append(" CAPABILITY_HIGH_DEF_AUDIO"); - } - if (can(capabilities, CAPABILITY_WIFI)) { - builder.append(" CAPABILITY_WIFI"); - } - if (can(capabilities, CAPABILITY_GENERIC_CONFERENCE)) { - builder.append(" CAPABILITY_GENERIC_CONFERENCE"); - } - if (can(capabilities, CAPABILITY_SHOW_CALLBACK_NUMBER)) { - builder.append(" CAPABILITY_SHOW_CALLBACK_NUMBER"); - } if (can(capabilities, CAPABILITY_SPEED_UP_MT_AUDIO)) { builder.append(" CAPABILITY_SPEED_UP_MT_AUDIO"); } @@ -340,6 +337,55 @@ public final class Call { } /** + * Whether the supplied properties includes the specified property. + * + * @param properties A bit field of properties. + * @param property The property to check properties for. + * @return Whether the specified property is supported. + */ + public static boolean hasProperty(int properties, int property) { + return (properties & property) != 0; + } + + /** + * Whether the properties of this {@code Details} includes the specified property. + * + * @param property The property to check properties for. + * @return Whether the specified property is supported. + */ + public boolean hasProperty(int property) { + return hasProperty(mCallProperties, property); + } + + /** + * Render a set of property bits ({@code PROPERTY_*}) as a human readable string. + * + * @param properties A property bit field. + * @return A human readable string representation. + */ + public static String propertiesToString(int properties) { + StringBuilder builder = new StringBuilder(); + builder.append("[Properties:"); + if (hasProperty(properties, PROPERTY_CONFERENCE)) { + builder.append(" PROPERTY_CONFERENCE"); + } + if (hasProperty(properties, PROPERTY_GENERIC_CONFERENCE)) { + builder.append(" PROPERTY_GENERIC_CONFERENCE"); + } + if (hasProperty(properties, PROPERTY_WIFI)) { + builder.append(" PROPERTY_WIFI"); + } + if (hasProperty(properties, PROPERTY_HIGH_DEF_AUDIO)) { + builder.append(" PROPERTY_HIGH_DEF_AUDIO"); + } + if (hasProperty(properties, PROPERTY_EMERGENCY_CALLBACK_MODE)) { + builder.append(" EMERGENCY_CALLBACK_MODE"); + } + builder.append("]"); + return builder.toString(); + } + + /** * @return The handle (e.g., phone number) to which the {@code Call} is currently * connected. */ @@ -387,8 +433,8 @@ public final class Call { } /** - * @return A bitmask of the properties of the {@code Call}, as defined in - * {@link CallProperties}. + * @return A bitmask of the properties of the {@code Call}, as defined by the various + * {@code PROPERTY_*} constants in this class. */ public int getCallProperties() { return mCallProperties; |
