DO NOT MERGE. Implement connection error dialogs (2/4)

Implement reporting of connection errors from ConnectionServices through
Telecomm to the InCallUI.

Bug: 15195720
Bug: 15117141
Change-Id: Idbd822a4eed897676663da008071c6050cc79616
(cherry picked from commit a3cb9e34db5952f0852c1a3230870cc6e378f246)
diff --git a/src/com/android/telecomm/Call.java b/src/com/android/telecomm/Call.java
index cd64ff8..a699f02 100644
--- a/src/com/android/telecomm/Call.java
+++ b/src/com/android/telecomm/Call.java
@@ -55,7 +55,7 @@
      */
     interface Listener {
         void onSuccessfulOutgoingCall(Call call);
-        void onFailedOutgoingCall(Call call, boolean isAborted);
+        void onFailedOutgoingCall(Call call, boolean isAborted, int errorCode, String errorMsg);
         void onSuccessfulIncomingCall(Call call, CallInfo callInfo);
         void onFailedIncomingCall(Call call);
         void onRequestingRingback(Call call, boolean requestingRingback);
@@ -500,11 +500,12 @@
                 Switchboard.getInstance().getSelectorRepository(),
                 new AsyncResultCallback<Boolean>() {
                     @Override
-                    public void onResult(Boolean wasCallPlaced) {
+                    public void onResult(Boolean wasCallPlaced, int errorCode, String errorMsg) {
                         if (wasCallPlaced) {
                             handleSuccessfulOutgoing();
                         } else {
-                            handleFailedOutgoing(mOutgoingCallProcessor.isAborted());
+                            handleFailedOutgoing(
+                                    mOutgoingCallProcessor.isAborted(), errorCode, errorMsg);
                         }
                         mOutgoingCallProcessor = null;
                     }
@@ -519,10 +520,10 @@
         }
     }
 
-    void handleFailedOutgoing(boolean isAborted) {
+    void handleFailedOutgoing(boolean isAborted, int errorCode, String errorMsg) {
         // TODO(santoscordon): Replace this with state transitions related to "connecting".
         for (Listener l : mListeners) {
-            l.onFailedOutgoingCall(this, isAborted);
+            l.onFailedOutgoingCall(this, isAborted, errorCode, errorMsg);
         }
 
         clearCallService();