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);
-            }
-        };
-    }
 }