Merge "Remove accidental commit of iml file."
diff --git a/InCallUI/src/com/android/incallui/CallMonitorService.java b/InCallUI/src/com/android/incallui/CallMonitorService.java
index 0024415..4554ace 100644
--- a/InCallUI/src/com/android/incallui/CallMonitorService.java
+++ b/InCallUI/src/com/android/incallui/CallMonitorService.java
@@ -22,10 +22,12 @@
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.Message;
+import android.os.RemoteException;
 import android.util.Log;
 import android.widget.Toast;
 
 import com.android.services.telephony.common.ICallMonitorService;
+import com.android.services.telephony.common.ICallCommandService;
 
 /**
  * Service used to listen for call state changes.
@@ -34,7 +36,9 @@
 
     private static final String TAG = CallMonitorService.class.getSimpleName();
     private static final boolean DBG = false; // TODO: Have a shared location for this.
+
     private MainHandler mMainHandler;
+    private ICallCommandService mCallCommandService;
 
     private static final int DO_SHOW_ALERT = 1;
 
@@ -54,6 +58,14 @@
     }
 
     private final ICallMonitorService.Stub mBinder = new ICallMonitorService.Stub() {
+
+        @Override
+        public void setCallCommandService(ICallCommandService service) {
+            logD("onConnected: " + service.toString());
+            mCallCommandService = service;
+        }
+
+        @Override
         public void onIncomingCall(int callId) {
             final Message msg = mMainHandler.obtainMessage(DO_SHOW_ALERT, 0, 0,
                     "Incoming call with call Id: " + callId);
@@ -88,16 +100,31 @@
     }
 
     private void executeMessage(Message msg) {
-        if (DBG) {
-            Log.d(TAG, "executeMessage(" + msg.what + ")");
-        }
+        logD("executeMessage(" + msg.what + ")");
         switch (msg.what) {
             case DO_SHOW_ALERT:
                 showAlert((String) msg.obj);
+                answerCall(0);
                 break;
             default:
                 break;
 
         }
     }
+
+    private void answerCall(int callId) {
+        try {
+            if (mCallCommandService != null) {
+                mCallCommandService.answerCall(callId);
+            }
+        } catch (RemoteException e) {
+            Log.e(TAG, "answerCall : " + e);
+        }
+    }
+
+    private void logD(String message) {
+        if (DBG) {
+            Log.d(TAG, message);
+        }
+    }
  }