Add setConferenceable() API from ConnectionService to incall. (2/4)
Change-Id: I64fdca08d35f893d755e3b154543a261b1418343
diff --git a/src/com/android/telecomm/Call.java b/src/com/android/telecomm/Call.java
index d6373a1..b72f383 100644
--- a/src/com/android/telecomm/Call.java
+++ b/src/com/android/telecomm/Call.java
@@ -22,10 +22,12 @@
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
+import android.telecomm.CallCapabilities;
import android.telecomm.CallPropertyPresentation;
import android.telecomm.CallState;
import android.telecomm.Connection;
import android.telecomm.ConnectionRequest;
+import android.telecomm.ConnectionService.VideoCallProvider;
import android.telecomm.GatewayInfo;
import android.telecomm.ParcelableConnection;
import android.telecomm.PhoneAccount;
@@ -44,6 +46,7 @@
import com.android.telecomm.ContactsAsyncHelper.OnImageLoadCompleteListener;
import com.google.common.base.Preconditions;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
@@ -85,6 +88,8 @@
void onStartActivityFromInCall(Call call, PendingIntent intent);
void onTargetPhoneAccountChanged(Call call);
void onConnectionManagerPhoneAccountChanged(Call call);
+ void onPhoneAccountChanged(Call call);
+ void onConferenceableCallsChanged(Call call);
}
abstract static class ListenerBase implements Listener {
@@ -134,6 +139,10 @@
public void onTargetPhoneAccountChanged(Call call) {}
@Override
public void onConnectionManagerPhoneAccountChanged(Call call) {}
+ @Override
+ public void onPhoneAccountChanged(Call call) {}
+ @Override
+ public void onConferenceableCallsChanged(Call call) {}
}
private static final OnQueryCompleteListener sCallerInfoQueryListener =
@@ -187,6 +196,10 @@
private final Handler mHandler = new Handler();
+ private final List<Call> mConferenceableCalls = new ArrayList<>();
+
+ private PhoneAccountHandle mPhoneAccountHandle;
+
private long mConnectTimeMillis;
/** The state of the call. */
@@ -312,7 +325,8 @@
}
/** {@inheritDoc} */
- @Override public String toString() {
+ @Override
+ public String toString() {
String component = null;
if (mConnectionService != null && mConnectionService.getComponentName() != null) {
component = mConnectionService.getComponentName().flattenToShortString();
@@ -513,8 +527,9 @@
}
void setCallCapabilities(int callCapabilities) {
+ Log.v(this, "setCallCapabilities: %s", CallCapabilities.toString(callCapabilities));
if (mCallCapabilities != callCapabilities) {
- mCallCapabilities = callCapabilities;
+ mCallCapabilities = callCapabilities;
for (Listener l : mListeners) {
l.onCallCapabilitiesChanged(this);
}
@@ -597,6 +612,7 @@
@Override
public void handleCreateConnectionSuccessful(
ConnectionRequest request, ParcelableConnection connection) {
+ Log.v(this, "handleCreateConnectionSuccessful %s", connection);
mCreateConnectionProcessor = null;
setState(getStateFromConnectionState(connection.getState()));
setTargetPhoneAccount(connection.getPhoneAccount());
@@ -869,6 +885,15 @@
}
}
+ void setConferenceableCalls(List<Call> conferenceableCalls) {
+ mConferenceableCalls.clear();
+ mConferenceableCalls.addAll(conferenceableCalls);
+ }
+
+ List<Call> getConferenceableCalls() {
+ return mConferenceableCalls;
+ }
+
private void addChildCall(Call call) {
if (!mChildCalls.contains(call)) {
mChildCalls.add(call);