Adding a command interface to control phone calls.

Adds a command interface implementation to use with incall ui.

Change-Id: I337754ccc991b423481cda3bde17232e93a8014f
diff --git a/src/com/android/phone/PhoneGlobals.java b/src/com/android/phone/PhoneGlobals.java
index 865ad75..e4989dc 100644
--- a/src/com/android/phone/PhoneGlobals.java
+++ b/src/com/android/phone/PhoneGlobals.java
@@ -173,6 +173,7 @@
     CallManager mCM;
     CallStateMonitor callStateMonitor;
     CallMonitorServiceProxy callMonitorServiceProxy;
+    CallCommandService callCommandService;
     int mBluetoothHeadsetState = BluetoothProfile.STATE_DISCONNECTED;
     int mBluetoothHeadsetAudioState = BluetoothHeadset.STATE_AUDIO_DISCONNECTED;
     boolean mShowBluetoothIndication = false;
@@ -537,8 +538,12 @@
             // Monitors call activity from the telephony layer
             callStateMonitor = new CallStateMonitor(mCM);
 
+            // Service used by in-call UI to control calls
+            callCommandService = new CallCommandService(mCM);
+
             // Sends call state to the UI
-            callMonitorServiceProxy = new CallMonitorServiceProxy(this, callStateMonitor);
+            callMonitorServiceProxy = new CallMonitorServiceProxy(this, callStateMonitor,
+                    callCommandService);
 
             // Create the CallNotifer singleton, which handles
             // asynchronous events from the telephony layer (like