Merge "Add disconnect cause when outgoing call fails due to ongoing OTASP prov." am: 3db8c1af4d
am: 2d7cccaba6
Change-Id: Ie4a1d8cfc57cf8ce3a7c5d4eb4360843e64859c2
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 7fe534c..d6c5fd7 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1804,7 +1804,11 @@
<!-- Message displayed to the user to indicate that a held call has been released /
disconnected. -->
<string name="supp_service_held_call_released">Held call has been released.</string>
-
+ <!-- In-call screen: error message shown when the user attempts to place a call, but the device
+ is currently in the process of being provisioned for service. Provisioning is the process
+ by which a device confirms which services are available to the user by contacting the
+ mobile service provider. -->
+ <string name="callFailed_otasp_provisioning_in_process">Cannot place a call as the device is currently being provisioned.</string>
<!-- In-call screen: error message shown when the user has attempted to place a new outgoing
call, but there is already a call in dialing state. -->
<string name="callFailed_already_dialing">Cannot place a call as another outgoing call is already dialing.</string>
diff --git a/src/com/android/phone/otasp/OtaspActivationService.java b/src/com/android/phone/otasp/OtaspActivationService.java
index c41640c..7490880 100644
--- a/src/com/android/phone/otasp/OtaspActivationService.java
+++ b/src/com/android/phone/otasp/OtaspActivationService.java
@@ -28,6 +28,7 @@
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
+import com.android.internal.telephony.GsmCdmaConnection;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneConstants;
import com.android.phone.PhoneGlobals;
@@ -45,8 +46,10 @@
public class OtaspActivationService extends Service {
private static final String TAG = OtaspActivationService.class.getSimpleName();
private static final boolean DBG = true;
- /* non-interactive otasp number */
- private static final String OTASP_NUMBER = "*22899";
+ /**
+ * non-interactive otasp number
+ */
+ private static final String OTASP_NUMBER = GsmCdmaConnection.OTASP_NUMBER;
/**
* Otasp call follows with SIM reloading which might triggers a retry loop on activation
diff --git a/src/com/android/services/telephony/DisconnectCauseUtil.java b/src/com/android/services/telephony/DisconnectCauseUtil.java
index 611d147..9ed34e7 100644
--- a/src/com/android/services/telephony/DisconnectCauseUtil.java
+++ b/src/com/android/services/telephony/DisconnectCauseUtil.java
@@ -173,6 +173,7 @@
case android.telephony.DisconnectCause.CANT_CALL_WHILE_RINGING:
case android.telephony.DisconnectCause.CALLING_DISABLED:
case android.telephony.DisconnectCause.TOO_MANY_ONGOING_CALLS:
+ case android.telephony.DisconnectCause.OTASP_PROVISIONING_IN_PROCESS:
case android.telephony.DisconnectCause.UNOBTAINABLE_NUMBER:
case android.telephony.DisconnectCause.VOICEMAIL_NUMBER_MISSING:
case android.telephony.DisconnectCause.DIAL_MODIFIED_TO_USSD:
@@ -337,11 +338,12 @@
case android.telephony.DisconnectCause.TOO_MANY_ONGOING_CALLS:
resourceId = R.string.callFailed_too_many_calls;
break;
-
case android.telephony.DisconnectCause.IMS_SIP_ALTERNATE_EMERGENCY_CALL:
resourceId = R.string.incall_error_power_off;
break;
-
+ case android.telephony.DisconnectCause.OTASP_PROVISIONING_IN_PROCESS:
+ resourceId = R.string.callFailed_otasp_provisioning_in_process;
+ break;
default:
break;
}
@@ -717,11 +719,12 @@
case android.telephony.DisconnectCause.TOO_MANY_ONGOING_CALLS:
resourceId = R.string.callFailed_too_many_calls;
break;
-
case android.telephony.DisconnectCause.IMS_SIP_ALTERNATE_EMERGENCY_CALL:
resourceId = R.string.incall_error_power_off;
break;
-
+ case android.telephony.DisconnectCause.OTASP_PROVISIONING_IN_PROCESS:
+ resourceId = R.string.callFailed_otasp_provisioning_in_process;
+ break;
default:
break;
}
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index 07754c6..f986994 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -1140,6 +1140,9 @@
case CallStateException.ERROR_TOO_MANY_CALLS:
cause = android.telephony.DisconnectCause.TOO_MANY_ONGOING_CALLS;
break;
+ case CallStateException.ERROR_OTASP_PROVISIONING_IN_PROCESS:
+ cause = android.telephony.DisconnectCause.OTASP_PROVISIONING_IN_PROCESS;
+ break;
}
connection.setDisconnected(DisconnectCauseUtil.toTelecomDisconnectCause(
cause, e.getMessage(), phone.getPhoneId()));