Merge "DO NOT MERGE Adding implementation of TelecommService" into lmp-preview-dev
diff --git a/src/com/android/telecomm/Call.java b/src/com/android/telecomm/Call.java
index 995957c..7488ffd 100644
--- a/src/com/android/telecomm/Call.java
+++ b/src/com/android/telecomm/Call.java
@@ -410,8 +410,6 @@
     }
 
     void handleSuccessfulOutgoing() {
-        setState(CallState.DIALING);
-
         // TODO(santoscordon): Replace this with state transitions related to "connecting".
         for (Listener l : mListeners) {
             l.onSuccessfulOutgoingCall(this);
diff --git a/src/com/android/telecomm/CallServiceWrapper.java b/src/com/android/telecomm/CallServiceWrapper.java
index 4040e33..9b96890 100644
--- a/src/com/android/telecomm/CallServiceWrapper.java
+++ b/src/com/android/telecomm/CallServiceWrapper.java
@@ -181,7 +181,7 @@
         @Override
         public void handleFailedOutgoingCall(String callId, String reason) {
             mCallIdMapper.checkValidCallId(callId);
-            Log.d(this, "handleFailedOutgoingCall %d", callId);
+            Log.d(this, "handleFailedOutgoingCall %s", callId);
             SomeArgs args = SomeArgs.obtain();
             args.arg1 = callId;
             args.arg2 = reason;
diff --git a/src/com/android/telecomm/CallsManager.java b/src/com/android/telecomm/CallsManager.java
index 48aa525..b21be69 100644
--- a/src/com/android/telecomm/CallsManager.java
+++ b/src/com/android/telecomm/CallsManager.java
@@ -126,7 +126,12 @@
         } else if (mPendingHandoffCalls.contains(call)) {
             updateHandoffCallServiceDescriptor(call.getOriginalCall(),
                     call.getCallService().getDescriptor());
+        } else {
+            Log.wtf(this, "unexpected successful call notification: %s", call);
+            return;
         }
+
+        markCallAsDialing(call);
     }
 
     @Override
@@ -391,6 +396,8 @@
         tempCall.setExtras(originalCall.getExtras());
         tempCall.setCallServiceSelector(originalCall.getCallServiceSelector());
         mPendingHandoffCalls.add(tempCall);
+        tempCall.addListener(this);
+
         Log.d(this, "Placing handoff call");
         tempCall.startOutgoing();
     }
@@ -595,6 +602,7 @@
         // Remove the transient handoff call object (don't disconnect because the call could still
         // be live).
         mPendingHandoffCalls.remove(handoffCall);
+        handoffCall.removeListener(this);
 
         if (wasSuccessful) {
             // Disconnect.
diff --git a/src/com/android/telecomm/Log.java b/src/com/android/telecomm/Log.java
index b25aec1..ebcc175 100644
--- a/src/com/android/telecomm/Log.java
+++ b/src/com/android/telecomm/Log.java
@@ -32,7 +32,7 @@
     // Generic tag for all In Call logging
     private static final String TAG = "Telecomm";
 
-    public static final boolean FORCE_LOGGING = true; /* STOP SHIP if true */
+    public static final boolean FORCE_LOGGING = false; /* STOP SHIP if true */
     public static final boolean DEBUG = isLoggable(android.util.Log.DEBUG);
     public static final boolean INFO = isLoggable(android.util.Log.INFO);
     public static final boolean VERBOSE = isLoggable(android.util.Log.VERBOSE);
@@ -201,7 +201,7 @@
             msg = (args == null || args.length == 0) ? format
                     : String.format(Locale.US, format, args);
         } catch (IllegalFormatException ife) {
-            wtf("Log", ife, "IllegalFormatException: formatString='%s' numArgs=%d", format,
+            e("Log", ife, "IllegalFormatException: formatString='%s' numArgs=%d", format,
                     args.length);
             msg = format + " (An error occurred while formatting the message.)";
         }