summaryrefslogtreecommitdiffstats
path: root/telecomm
diff options
context:
space:
mode:
authorAndrew Lee <anwlee@google.com>2015-04-29 14:38:11 -0700
committerAndrew Lee <anwlee@google.com>2015-04-30 17:21:10 -0700
commit2378ea76d4c4b160c2f0f6ffcd556776b7112d8d (patch)
tree11772efbca218628aa0464b4a786719d59863874 /telecomm
parent5b8b0df7bfcbeb8a6ac165fcbcad57aa2b597004 (diff)
downloadframeworks_base-2378ea76d4c4b160c2f0f6ffcd556776b7112d8d.zip
frameworks_base-2378ea76d4c4b160c2f0f6ffcd556776b7112d8d.tar.gz
frameworks_base-2378ea76d4c4b160c2f0f6ffcd556776b7112d8d.tar.bz2
Add Properties to Call.Details.
Moved some capabilities to properties which seemed appropriate. Bug: 20160395 Change-Id: Iacef4365822e5c3e50f0c41a501bf295c22055f1
Diffstat (limited to 'telecomm')
-rw-r--r--telecomm/java/android/telecom/Call.java114
-rw-r--r--telecomm/java/android/telecom/CallProperties.java25
2 files changed, 80 insertions, 59 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;
diff --git a/telecomm/java/android/telecom/CallProperties.java b/telecomm/java/android/telecom/CallProperties.java
deleted file mode 100644
index 1721a392e..0000000
--- a/telecomm/java/android/telecom/CallProperties.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package android.telecom;
-
-/**
- * Defines properties of a phone call which may be affected by changes to the call.
- */
-public class CallProperties {
- /** Call is currently in a conference call. */
- public static final int CONFERENCE = 0x00000001;
-}