Stop showing "Call not sent" for MMI calls.

Bug: 15603571
Change-Id: I50abc4a847f54db74c9c065dcd8d4a302585f659
diff --git a/src/com/android/phone/PhoneUtils.java b/src/com/android/phone/PhoneUtils.java
index 60950a5..19361ba 100644
--- a/src/com/android/phone/PhoneUtils.java
+++ b/src/com/android/phone/PhoneUtils.java
@@ -731,12 +731,7 @@
 
         // On GSM phones, null is returned for MMI codes
         if (null == connection) {
-            if (phoneType == PhoneConstants.PHONE_TYPE_GSM && gatewayUri == null) {
-                if (DBG) log("dialed MMI code: " + number);
-                status = CALL_STATUS_DIALED_MMI;
-            } else {
-                status = CALL_STATUS_FAILED;
-            }
+            status = CALL_STATUS_FAILED;
         } else {
             // Now that the call is successful, we can save the gateway info for the call
             if (callGateway != null) {
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index fe920f1..b3467a6 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -33,6 +33,8 @@
 import com.android.internal.telephony.Call;
 import com.android.internal.telephony.CallStateException;
 import com.android.internal.telephony.Phone;
+
+import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.telephony.PhoneFactory;
 import com.android.internal.telephony.SubscriptionController;
 
@@ -224,8 +226,14 @@
         }
 
         if (originalConnection == null) {
+            int disconnectCause = DisconnectCause.ERROR_UNSPECIFIED;
+
+            // On GSM phones, null connection means that we dialed an MMI code
+            if (phone.getPhoneType() == PhoneConstants.PHONE_TYPE_GSM) {
+                disconnectCause = DisconnectCause.DIALED_MMI;
+            }
             Log.d(this, "startOutgoingCall, phone.dial returned null");
-            response.onFailure(request, DisconnectCause.ERROR_UNSPECIFIED, "Connection is null");
+            response.onFailure(request, disconnectCause, "Connection is null");
             return;
         }