diff options
author | Santos Cordon <santoscordon@google.com> | 2013-07-18 12:45:50 -0700 |
---|---|---|
committer | Santos Cordon <santoscordon@google.com> | 2013-07-18 14:52:37 -0700 |
commit | b4e09de8bb3c9ff483febdf267cb9167821d32c0 (patch) | |
tree | 773963cb1d7b96b204e6cc20f19d26fc17675856 /InCallUI | |
parent | a44c5910391e2c80f00a7873fca2032d08323eeb (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.java | 33 |
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); + } + } } |