summaryrefslogtreecommitdiff
path: root/InCallUI
diff options
context:
space:
mode:
authorSantos Cordon <santoscordon@google.com>2013-07-18 12:45:50 -0700
committerSantos Cordon <santoscordon@google.com>2013-07-18 14:52:37 -0700
commitb4e09de8bb3c9ff483febdf267cb9167821d32c0 (patch)
tree773963cb1d7b96b204e6cc20f19d26fc17675856 /InCallUI
parenta44c5910391e2c80f00a7873fca2032d08323eeb (diff)
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
Diffstat (limited to 'InCallUI')
-rw-r--r--InCallUI/src/com/android/incallui/CallMonitorService.java33
1 files changed, 30 insertions, 3 deletions
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);
+ }
+ }
}