Adding the resource-deallocation utility.
Change-Id: I73ee3b648d7b224017bb2445597f199f979be5de
diff --git a/src/com/android/telecomm/IncomingCallsManager.java b/src/com/android/telecomm/IncomingCallsManager.java
index 1539cbf..13f1319 100644
--- a/src/com/android/telecomm/IncomingCallsManager.java
+++ b/src/com/android/telecomm/IncomingCallsManager.java
@@ -16,8 +16,6 @@
package com.android.telecomm;
-import android.os.Handler;
-import android.os.Looper;
import android.telecomm.CallInfo;
import android.util.Log;
@@ -36,16 +34,8 @@
private static final String TAG = IncomingCallsManager.class.getSimpleName();
- /**
- * The amount of time to wait for details of an incoming call, in milliseconds.
- * TODO(santoscordon): Likely needs adjustment.
- */
- private static final int INCOMING_CALL_TIMEOUT_MS = 1000;
-
private final Switchboard mSwitchboard;
- private final Handler mHandler = new Handler(Looper.getMainLooper());
-
/** Maps call ID to the call. */
private final Map<String, Call> mPendingIncomingCalls = Maps.newHashMap();
@@ -64,7 +54,7 @@
*
* @param call The call object.
*/
- void retrieveIncomingCall(Call call) {
+ void retrieveIncomingCall(final Call call) {
ThreadUtil.checkOnMainThread();
Log.d(TAG, "retrieveIncomingCall");
@@ -74,11 +64,13 @@
mPendingIncomingCalls.put(callId, call);
- // TODO(santoscordon): Timeout will not be necessary after cleanup via tick() is implemented
- // in Switchboard.
- startTimeoutForCall(call);
+ Runnable errorCallback = new Runnable() {
+ @Override public void run() {
+ handleFailedIncomingCall(call);
+ }
+ };
- Runnable errorCallback = getFailedIncomingCallback(call);
+ // TODO(gilad): call.retrieve*Call() seems a bit unusual, consider revisiting.
call.getCallService().retrieveIncomingCall(callId, errorCallback);
}
@@ -115,29 +107,4 @@
mSwitchboard.handleFailedIncomingCall(call);
}
}
-
- /**
- * Starts a timeout to timebox the retrieval of an incoming call. When the timeout expires,
- * it will notify switchboard that the incoming call was not retrieved and thus does not exist
- * as far as Telecomm is concerned.
- *
- * @param call The call.
- */
- private void startTimeoutForCall(Call call) {
- Runnable timeoutCallback = getFailedIncomingCallback(call);
- mHandler.postDelayed(timeoutCallback, INCOMING_CALL_TIMEOUT_MS);
- }
-
- /**
- * Returns a runnable to be invoked upon failure to get details for an incoming call.
- *
- * @param call The failed incoming call.
- */
- private Runnable getFailedIncomingCallback(final Call call) {
- return new Runnable() {
- @Override public void run() {
- handleFailedIncomingCall(call);
- }
- };
- }
}