Add additional call state PRE_DIAL_WAIT for selection of account

If an account default is not set, the incall ui will display a dialog to
allow the user to select an account for that particular call.

Bug: 16243703

Change-Id: If1beaf60a92b4446adaaace2a72c3e0f70e61f21
diff --git a/src/com/android/telecomm/Call.java b/src/com/android/telecomm/Call.java
index b830499..5dfba52 100644
--- a/src/com/android/telecomm/Call.java
+++ b/src/com/android/telecomm/Call.java
@@ -431,6 +431,10 @@
         return mPhoneAccount;
     }
 
+    void setPhoneAccount(PhoneAccount account) {
+        mPhoneAccount = account;
+    }
+
     boolean isIncoming() {
         return mIsIncoming;
     }
@@ -641,7 +645,7 @@
      * Attempts to disconnect the call through the connection service.
      */
     void disconnect() {
-        if (mState == CallState.NEW) {
+        if (mState == CallState.NEW || mState == CallState.PRE_DIAL_WAIT) {
             Log.v(this, "Aborting call %s", this);
             abort();
         } else if (mState != CallState.ABORTED && mState != CallState.DISCONNECTED) {
@@ -658,6 +662,8 @@
     void abort() {
         if (mCreateConnectionProcessor != null) {
             mCreateConnectionProcessor.abort();
+        } else if (mState == CallState.PRE_DIAL_WAIT) {
+            handleCreateConnectionFailed(DisconnectCause.LOCAL, null);
         }
     }