Implement Connection.setCallCapabilities

Change-Id: I90238eeefbcbfaa044881d80833b62e4474821d6
diff --git a/src/com/android/telecomm/InCallController.java b/src/com/android/telecomm/InCallController.java
index 42d6a03..94f5b6e 100644
--- a/src/com/android/telecomm/InCallController.java
+++ b/src/com/android/telecomm/InCallController.java
@@ -133,7 +133,7 @@
     }
 
     @Override
-    public void onIsConferenceCapableChanged(Call call, boolean isConferenceCapable) {
+    public void onCallCapabilitiesChanged(Call call) {
         updateCall(call);
     }
 
@@ -269,13 +269,14 @@
         CallServiceDescriptor descriptor = call.getConnectionService() != null ?
                 call.getConnectionService().getDescriptor() : null;
 
-        int capabilities = CallCapabilities.HOLD | CallCapabilities.MUTE;
-        if (CallsManager.getInstance().isAddCallCapable(call)) {
-            capabilities |= CallCapabilities.ADD_CALL;
+        int capabilities = call.getCallCapabilities();
+        if (!CallsManager.getInstance().isAddCallCapable(call)) {
+            capabilities &= ~CallCapabilities.ADD_CALL;
         }
-        if (call.isConferenceCapable()) {
-            capabilities |= CallCapabilities.MERGE_CALLS;
+        if (call.isEmergencyCall()) {
+            capabilities &= ~CallCapabilities.MUTE;
         }
+
         CallState state = call.getState();
         if (state == CallState.ABORTED) {
             state = CallState.DISCONNECTED;