summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Andrew Lee <anwlee@google.com> 2015-05-01 18:27:20 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2015-05-01 18:27:23 +0000
commitf3280041f0a9b462fd90cc043ea790a5db59daf4 (patch)
treeda5c19698022a2efb8fdd4de4265a7cfdf0698e3
parent097d5f107391bb1414124b4de7a510bb6ff47de3 (diff)
parent2378ea76d4c4b160c2f0f6ffcd556776b7112d8d (diff)
Merge "Add Properties to Call.Details." into mnc-dev
-rw-r--r--api/current.txt17
-rw-r--r--api/system-current.txt17
-rw-r--r--telecomm/java/android/telecom/Call.java114
-rw-r--r--telecomm/java/android/telecom/CallProperties.java25
4 files changed, 96 insertions, 77 deletions
diff --git a/api/current.txt b/api/current.txt
index 09b2b6a1ad44..ba9d6d315edc 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -30327,17 +30327,17 @@ package android.telecom {
method public int getHandlePresentation();
method public android.telecom.StatusHints getStatusHints();
method public int getVideoState();
+ method public static boolean hasProperty(int, int);
+ method public boolean hasProperty(int);
+ method public static java.lang.String propertiesToString(int);
field public static final int CAPABILITY_CAN_PAUSE_VIDEO = 1048576; // 0x100000
field public static final int CAPABILITY_DISCONNECT_FROM_CONFERENCE = 8192; // 0x2000
- field public static final int CAPABILITY_GENERIC_CONFERENCE = 16384; // 0x4000
- field public static final int CAPABILITY_HIGH_DEF_AUDIO = 32768; // 0x8000
field public static final int CAPABILITY_HOLD = 1; // 0x1
field public static final int CAPABILITY_MANAGE_CONFERENCE = 128; // 0x80
field public static final int CAPABILITY_MERGE_CONFERENCE = 4; // 0x4
field public static final int CAPABILITY_MUTE = 64; // 0x40
field public static final int CAPABILITY_RESPOND_VIA_TEXT = 32; // 0x20
field public static final int CAPABILITY_SEPARATE_FROM_CONFERENCE = 4096; // 0x1000
- field public static final int CAPABILITY_SHOW_CALLBACK_NUMBER = 131072; // 0x20000
field public static final int CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL = 768; // 0x300
field public static final int CAPABILITY_SUPPORTS_VT_LOCAL_RX = 256; // 0x100
field public static final int CAPABILITY_SUPPORTS_VT_LOCAL_TX = 512; // 0x200
@@ -30346,12 +30346,11 @@ package android.telecom {
field public static final int CAPABILITY_SUPPORTS_VT_REMOTE_TX = 2048; // 0x800
field public static final int CAPABILITY_SUPPORT_HOLD = 2; // 0x2
field public static final int CAPABILITY_SWAP_CONFERENCE = 8; // 0x8
- field public static final int CAPABILITY_WIFI = 65536; // 0x10000
- }
-
- public class CallProperties {
- ctor public CallProperties();
- field public static final int CONFERENCE = 1; // 0x1
+ field public static final int PROPERTY_CONFERENCE = 1; // 0x1
+ field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 4; // 0x4
+ field public static final int PROPERTY_GENERIC_CONFERENCE = 2; // 0x2
+ field public static final int PROPERTY_HIGH_DEF_AUDIO = 16; // 0x10
+ field public static final int PROPERTY_WIFI = 8; // 0x8
}
public final class CameraCapabilities implements android.os.Parcelable {
diff --git a/api/system-current.txt b/api/system-current.txt
index 3e84fd477f2a..43edce07f965 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -32443,17 +32443,17 @@ package android.telecom {
method public int getHandlePresentation();
method public android.telecom.StatusHints getStatusHints();
method public int getVideoState();
+ method public static boolean hasProperty(int, int);
+ method public boolean hasProperty(int);
+ method public static java.lang.String propertiesToString(int);
field public static final int CAPABILITY_CAN_PAUSE_VIDEO = 1048576; // 0x100000
field public static final int CAPABILITY_DISCONNECT_FROM_CONFERENCE = 8192; // 0x2000
- field public static final int CAPABILITY_GENERIC_CONFERENCE = 16384; // 0x4000
- field public static final int CAPABILITY_HIGH_DEF_AUDIO = 32768; // 0x8000
field public static final int CAPABILITY_HOLD = 1; // 0x1
field public static final int CAPABILITY_MANAGE_CONFERENCE = 128; // 0x80
field public static final int CAPABILITY_MERGE_CONFERENCE = 4; // 0x4
field public static final int CAPABILITY_MUTE = 64; // 0x40
field public static final int CAPABILITY_RESPOND_VIA_TEXT = 32; // 0x20
field public static final int CAPABILITY_SEPARATE_FROM_CONFERENCE = 4096; // 0x1000
- field public static final int CAPABILITY_SHOW_CALLBACK_NUMBER = 131072; // 0x20000
field public static final int CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL = 768; // 0x300
field public static final int CAPABILITY_SUPPORTS_VT_LOCAL_RX = 256; // 0x100
field public static final int CAPABILITY_SUPPORTS_VT_LOCAL_TX = 512; // 0x200
@@ -32462,18 +32462,17 @@ package android.telecom {
field public static final int CAPABILITY_SUPPORTS_VT_REMOTE_TX = 2048; // 0x800
field public static final int CAPABILITY_SUPPORT_HOLD = 2; // 0x2
field public static final int CAPABILITY_SWAP_CONFERENCE = 8; // 0x8
- field public static final int CAPABILITY_WIFI = 65536; // 0x10000
+ field public static final int PROPERTY_CONFERENCE = 1; // 0x1
+ field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 4; // 0x4
+ field public static final int PROPERTY_GENERIC_CONFERENCE = 2; // 0x2
+ field public static final int PROPERTY_HIGH_DEF_AUDIO = 16; // 0x10
+ field public static final int PROPERTY_WIFI = 8; // 0x8
}
public static abstract deprecated class Call.Listener extends android.telecom.Call.Callback {
ctor public Call.Listener();
}
- public class CallProperties {
- ctor public CallProperties();
- field public static final int CONFERENCE = 1; // 0x1
- }
-
public final class CameraCapabilities implements android.os.Parcelable {
ctor public CameraCapabilities(int, int);
method public int describeContents();
diff --git a/telecomm/java/android/telecom/Call.java b/telecomm/java/android/telecom/Call.java
index 9273939b8cc4..fee64951e3e3 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 1721a392eff8..000000000000
--- 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;
-}