summaryrefslogtreecommitdiffstats
path: root/telecomm/java/android/telecom/RemoteConference.java
diff options
context:
space:
mode:
Diffstat (limited to 'telecomm/java/android/telecom/RemoteConference.java')
-rw-r--r--telecomm/java/android/telecom/RemoteConference.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/telecomm/java/android/telecom/RemoteConference.java b/telecomm/java/android/telecom/RemoteConference.java
index f5e0732..eba7580 100644
--- a/telecomm/java/android/telecom/RemoteConference.java
+++ b/telecomm/java/android/telecom/RemoteConference.java
@@ -20,6 +20,7 @@ import com.android.internal.telecom.IConnectionService;
import android.os.RemoteException;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Set;
@@ -37,6 +38,9 @@ public final class RemoteConference {
public void onConnectionAdded(RemoteConference conference, RemoteConnection connection) {}
public void onConnectionRemoved(RemoteConference conference, RemoteConnection connection) {}
public void onCapabilitiesChanged(RemoteConference conference, int capabilities) {}
+ public void onConferenceableConnectionsChanged(
+ RemoteConference conference,
+ List<RemoteConnection> conferenceableConnections) {}
public void onDestroyed(RemoteConference conference) {}
}
@@ -47,6 +51,9 @@ public final class RemoteConference {
private final List<RemoteConnection> mChildConnections = new CopyOnWriteArrayList<>();
private final List<RemoteConnection> mUnmodifiableChildConnections =
Collections.unmodifiableList(mChildConnections);
+ private final List<RemoteConnection> mConferenceableConnections = new ArrayList<>();
+ private final List<RemoteConnection> mUnmodifiableConferenceableConnections =
+ Collections.unmodifiableList(mConferenceableConnections);
private int mState = Connection.STATE_NEW;
private DisconnectCause mDisconnectCause;
@@ -124,6 +131,15 @@ public final class RemoteConference {
}
}
+ /** @hide */
+ void setConferenceableConnections(List<RemoteConnection> conferenceableConnections) {
+ mConferenceableConnections.clear();
+ mConferenceableConnections.addAll(conferenceableConnections);
+ for (Callback c : mCallbacks) {
+ c.onConferenceableConnectionsChanged(this, mUnmodifiableConferenceableConnections);
+ }
+ }
+
/** {@hide} */
void setDisconnected(DisconnectCause disconnectCause) {
if (mState != Connection.STATE_DISCONNECTED) {
@@ -216,6 +232,10 @@ public final class RemoteConference {
}
}
+ public List<RemoteConnection> getConferenceableConnections() {
+ return mUnmodifiableConferenceableConnections;
+ }
+
public final void registerCallback(Callback callback) {
mCallbacks.add(callback);
}