Merge "Handle package install/uninstall/update events." into mnc-dev
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ab074e4..1ce9e9c 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1283,7 +1283,7 @@
<string name="message_decode_error">There was an error while decoding the message.</string>
<!-- Call failure reason: SIM card and roaming capabilities have already been activated. [CHAR LIMIT=NONE]-->
- <string name="callFailed_cdma_activation_">
+ <string name="callFailed_cdma_activation">
A SIM card has activated your service and updated your phone\'s roaming capabilities.
</string>
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index ec8ce40..5a51d2e 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -227,15 +227,18 @@
IccAPDUArgument iccArgument;
switch (msg.what) {
- case CMD_HANDLE_PIN_MMI:
+ case CMD_HANDLE_PIN_MMI: {
request = (MainThreadRequest) msg.obj;
- request.result = getPhoneFromRequest(request).handlePinMmi(
- (String) request.argument);
+ final Phone phone = getPhoneFromRequest(request);
+ request.result = phone != null ?
+ getPhoneFromRequest(request).handlePinMmi((String) request.argument)
+ : false;
// Wake up the requesting thread
synchronized (request) {
request.notifyAll();
}
break;
+ }
case CMD_HANDLE_NEIGHBORING_CELL:
request = (MainThreadRequest) msg.obj;
diff --git a/src/com/android/services/telephony/DisconnectCauseUtil.java b/src/com/android/services/telephony/DisconnectCauseUtil.java
index aaaf7db..4a92847 100644
--- a/src/com/android/services/telephony/DisconnectCauseUtil.java
+++ b/src/com/android/services/telephony/DisconnectCauseUtil.java
@@ -95,6 +95,7 @@
return DisconnectCause.RESTRICTED;
case android.telephony.DisconnectCause.CDMA_ACCESS_FAILURE:
+ case android.telephony.DisconnectCause.CDMA_ALREADY_ACTIVATED:
case android.telephony.DisconnectCause.CDMA_CALL_LOST:
case android.telephony.DisconnectCause.CDMA_DROP:
case android.telephony.DisconnectCause.CDMA_INTERCEPT:
@@ -230,6 +231,10 @@
resourceId = R.string.callFailed_cb_enabled;
break;
+ case android.telephony.DisconnectCause.CDMA_ALREADY_ACTIVATED:
+ resourceId = R.string.callFailed_cdma_activation;
+ break;
+
case android.telephony.DisconnectCause.FDN_BLOCKED:
resourceId = R.string.callFailed_fdn_only;
break;
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index 7826ce0..d1f3dc2 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -185,7 +185,8 @@
if (disableActivation) {
return Connection.createFailedConnection(
DisconnectCauseUtil.toTelecomDisconnectCause(
- android.telephony.DisconnectCause.INVALID_NUMBER,
+ android.telephony.DisconnectCause
+ .CDMA_ALREADY_ACTIVATED,
"Tried to dial *228"));
}
}