Use CallServiceWrappers in place of ICallService.

Change-Id: Icd8a6ae2401f68d04b359fb7539b6d4f5aafecd5
diff --git a/src/com/android/telecomm/CallsManager.java b/src/com/android/telecomm/CallsManager.java
index c96b8da..d69af53 100644
--- a/src/com/android/telecomm/CallsManager.java
+++ b/src/com/android/telecomm/CallsManager.java
@@ -104,7 +104,7 @@
 
         // No objection to issue the call, proceed with trying to put it through.
         Call call = new Call(handle, contactInfo);
-        mSwitchboard.placeOutgoingCall(call, context);
+        mSwitchboard.placeOutgoingCall(call);
     }
 
     /**
@@ -197,7 +197,11 @@
      */
     void markCallAsDisconnected(String callId) {
         setCallState(callId, CallState.DISCONNECTED);
-        mCalls.remove(callId);
+
+        Call call = mCalls.remove(callId);
+        // At this point the call service has confirmed that the call is disconnected to it is
+        // safe to disassociate the call from its call service.
+        call.clearCallService();
 
         // Notify the in-call UI
         mInCallController.markCallAsDisconnected(callId);