Add setConferenceable() API from ConnectionService to incall. (2/4)

Change-Id: I64fdca08d35f893d755e3b154543a261b1418343
diff --git a/src/com/android/telecomm/InCallController.java b/src/com/android/telecomm/InCallController.java
index e12372d..6b4b424 100644
--- a/src/com/android/telecomm/InCallController.java
+++ b/src/com/android/telecomm/InCallController.java
@@ -112,6 +112,11 @@
         public void onTargetPhoneAccountChanged(Call call) {
             updateCall(call);
         }
+
+        @Override
+        public void onConferenceableCallsChanged(Call call) {
+            updateCall(call);
+        }
     };
 
     /** Maintains a binding connection to the in-call app. */
@@ -336,6 +341,15 @@
         String callerDisplayName = call.getCallerDisplayNamePresentation() ==
                 CallPropertyPresentation.ALLOWED ?  call.getCallerDisplayName() : null;
 
+        List<Call> conferenceableCalls = call.getConferenceableCalls();
+        List<String> conferenceableCallIds = new ArrayList<String>(conferenceableCalls.size());
+        for (Call otherCall : conferenceableCalls) {
+            String otherId = mCallIdMapper.getCallId(otherCall);
+            if (otherId != null) {
+                conferenceableCallIds.add(otherId);
+            }
+        }
+
         return new ParcelableCall(
                 callId,
                 state,
@@ -354,6 +368,7 @@
                 parentCallId,
                 childCallIds,
                 call.getStatusHints(),
-                call.getVideoState());
+                call.getVideoState(),
+                conferenceableCallIds);
     }
 }