Add setConferenceable() API from ConnectionService to incall. (2/4)
Change-Id: I64fdca08d35f893d755e3b154543a261b1418343
diff --git a/src/com/android/telecomm/ConnectionServiceWrapper.java b/src/com/android/telecomm/ConnectionServiceWrapper.java
index 82381bd..4a45902 100644
--- a/src/com/android/telecomm/ConnectionServiceWrapper.java
+++ b/src/com/android/telecomm/ConnectionServiceWrapper.java
@@ -79,7 +79,8 @@
private static final int MSG_SET_HANDLE = 19;
private static final int MSG_SET_CALLER_DISPLAY_NAME = 20;
private static final int MSG_SET_VIDEO_STATE = 21;
- private static final int MSG_START_ACTIVITY_FROM_IN_CALL = 22;
+ private static final int MSG_SET_CONFERENCEABLE_CONNECTIONS = 22;
+ private static final int MSG_START_ACTIVITY_FROM_IN_CALL = 23;
private final Handler mHandler = new Handler() {
@Override
@@ -314,6 +315,28 @@
}
break;
}
+ case MSG_SET_CONFERENCEABLE_CONNECTIONS: {
+ SomeArgs args = (SomeArgs) msg.obj;
+ try {
+ call = mCallIdMapper.getCall(args.arg1);
+ if (call != null ){
+ @SuppressWarnings("unchecked")
+ List<String> conferenceableIds = (List<String>) args.arg2;
+ List<Call> conferenceableCalls =
+ new ArrayList<>(conferenceableIds.size());
+ for (String otherId : (List<String>) args.arg2) {
+ Call otherCall = mCallIdMapper.getCall(otherId);
+ if (otherCall != null && otherCall != call) {
+ conferenceableCalls.add(otherCall);
+ }
+ }
+ call.setConferenceableCalls(conferenceableCalls);
+ }
+ } finally {
+ args.recycle();
+ }
+ break;
+ }
case MSG_START_ACTIVITY_FROM_IN_CALL: {
SomeArgs args = (SomeArgs) msg.obj;
try {
@@ -513,6 +536,17 @@
}
@Override
+ public void setConferenceableConnections(
+ String callId, List<String> conferenceableCallIds) {
+ logIncoming("setConferenceableConnections %s %s", callId, conferenceableCallIds);
+ mCallIdMapper.checkValidCallId(callId);
+ SomeArgs args = SomeArgs.obtain();
+ args.arg1 = callId;
+ args.arg2 = conferenceableCallIds;
+ mHandler.obtainMessage(MSG_SET_CONFERENCEABLE_CONNECTIONS, args).sendToTarget();
+ }
+
+ @Override
public void startActivityFromInCall(String callId, PendingIntent intent) {
logIncoming("startActivityFromInCall %s %s", callId, intent);
mCallIdMapper.checkValidCallId(callId);