From b4e09de8bb3c9ff483febdf267cb9167821d32c0 Mon Sep 17 00:00:00 2001 From: Santos Cordon Date: Thu, 18 Jul 2013 12:45:50 -0700 Subject: Use new command interface to answer the call automatically. This funcitonality is temporary and eventually, we will not answer the call automatically. Change-Id: I47d3c0673ae07d9c5a45d357c289bf3bf9b2b9ac --- .../com/android/incallui/CallMonitorService.java | 33 ++++++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) (limited to 'InCallUI') diff --git a/InCallUI/src/com/android/incallui/CallMonitorService.java b/InCallUI/src/com/android/incallui/CallMonitorService.java index 002441584..4554acefd 100644 --- a/InCallUI/src/com/android/incallui/CallMonitorService.java +++ b/InCallUI/src/com/android/incallui/CallMonitorService.java @@ -22,10 +22,12 @@ import android.content.Intent; 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 @@ public class CallMonitorService extends Service { 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 @@ public class CallMonitorService extends Service { } 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 @@ public class CallMonitorService extends Service { } 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); + } + } } -- cgit v1.2.3