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