From 4b116453e8ea6177265794a55e19d19466d85af7 Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Thu, 16 Oct 2014 15:39:30 -0700 Subject: [PATCH] Add functions to update on conference changes. + Add onConferenceChanged() to Connection, so that the Connection can make act on changes to the conference. + Add a utility function to PhoneCapabilities to remove a capability from a PhoneCapabilities bitmask. Figure this abstracts some bit logic away to make things more readable. Bug: 17429707 Change-Id: I0c97731a95dd6573488cd10f094a63abe2428bce --- api/current.txt | 1 + telecomm/java/android/telecom/Connection.java | 6 ++++++ telecomm/java/android/telecom/PhoneCapabilities.java | 11 +++++++++++ 3 files changed, 18 insertions(+) diff --git a/api/current.txt b/api/current.txt index a9bcf745056d9..f0cb3c83e65f8 100644 --- a/api/current.txt +++ b/api/current.txt @@ -28114,6 +28114,7 @@ package android.telecom { method public void onAbort(); method public void onAnswer(); method public void onAudioStateChanged(android.telecom.AudioState); + method public void onConferenceChanged(); method public void onDisconnect(); method public void onHold(); method public void onPlayDtmfTone(char); diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java index 51f193fde2831..44fa157eb5b46 100644 --- a/telecomm/java/android/telecom/Connection.java +++ b/telecomm/java/android/telecom/Connection.java @@ -911,6 +911,7 @@ public abstract class Connection { mConference = conference; if (mConnectionService != null && mConnectionService.containsConference(conference)) { fireConferenceChanged(); + onConferenceChanged(); } return true; } @@ -1009,6 +1010,11 @@ public abstract class Connection { */ public void onPostDialContinue(boolean proceed) {} + /** + * Notifies this Connection that the conference which is set on it has changed. + */ + public void onConferenceChanged() {} + static String toLogSafePhoneNumber(String number) { // For unknown number, log empty string. if (number == null) { diff --git a/telecomm/java/android/telecom/PhoneCapabilities.java b/telecomm/java/android/telecom/PhoneCapabilities.java index c7d90148faf1b..9c67503019098 100644 --- a/telecomm/java/android/telecom/PhoneCapabilities.java +++ b/telecomm/java/android/telecom/PhoneCapabilities.java @@ -103,6 +103,17 @@ public final class PhoneCapabilities { return (capabilities & capability) != 0; } + /** + * Removes the specified capability from the set of capabilities and returns the new set. + * @param capabilities The set of capabilities. + * @param capability The capability to remove from the set. + * @return The set of capabilities, with the capability removed. + * @hide + */ + public static int remove(int capabilities, int capability) { + return capabilities & ~capability; + } + public static String toString(int capabilities) { StringBuilder builder = new StringBuilder(); builder.append("[Capabilities:");