Merge changes Ie70d0155,I0692a91d,I8c5041a4
* changes:
LockAgent: Add agent parameters to start_lock_agent script
LockAgent: Add option to synthesize Java crash logging
LockAgent: Add ability to generate a native crash
diff --git a/telephony/java/android/telephony/SubscriptionInfo.java b/telephony/java/android/telephony/SubscriptionInfo.java
index 994d705..f2a8233 100644
--- a/telephony/java/android/telephony/SubscriptionInfo.java
+++ b/telephony/java/android/telephony/SubscriptionInfo.java
@@ -731,19 +731,19 @@
public String toString() {
String iccIdToPrint = givePrintableIccid(mIccId);
String cardStringToPrint = givePrintableIccid(mCardString);
- return "{id=" + mId + ", iccId=" + iccIdToPrint + " simSlotIndex=" + mSimSlotIndex
+ return "{id=" + mId + " iccId=" + iccIdToPrint + " simSlotIndex=" + mSimSlotIndex
+ " carrierId=" + mCarrierId + " displayName=" + mDisplayName
+ " carrierName=" + mCarrierName + " nameSource=" + mNameSource
+ " iconTint=" + mIconTint + " mNumber=" + Rlog.pii(Build.IS_DEBUGGABLE, mNumber)
- + " dataRoaming=" + mDataRoaming + " iconBitmap=" + mIconBitmap + " mcc " + mMcc
- + " mnc " + mMnc + "mCountryIso=" + mCountryIso + " isEmbedded " + mIsEmbedded
- + " accessRules " + Arrays.toString(mAccessRules)
+ + " dataRoaming=" + mDataRoaming + " iconBitmap=" + mIconBitmap + " mcc=" + mMcc
+ + " mnc=" + mMnc + " mCountryIso=" + mCountryIso + " isEmbedded=" + mIsEmbedded
+ + " accessRules=" + Arrays.toString(mAccessRules)
+ " cardString=" + cardStringToPrint + " cardId=" + mCardId
- + " isOpportunistic " + mIsOpportunistic + " mGroupUUID=" + mGroupUUID
+ + " isOpportunistic=" + mIsOpportunistic + " mGroupUUID=" + mGroupUUID
+ " mIsGroupDisabled=" + mIsGroupDisabled
+ " profileClass=" + mProfileClass
- + " ehplmns = " + Arrays.toString(mEhplmns)
- + " hplmns = " + Arrays.toString(mHplmns)
+ + " ehplmns=" + Arrays.toString(mEhplmns)
+ + " hplmns=" + Arrays.toString(mHplmns)
+ " subscriptionType=" + mSubscriptionType
+ " mGroupOwner=" + mGroupOwner + "}";
}
diff --git a/telephony/java/com/android/internal/telephony/cdma/SmsMessage.java b/telephony/java/com/android/internal/telephony/cdma/SmsMessage.java
index 9ad8bef..4bd0213 100644
--- a/telephony/java/com/android/internal/telephony/cdma/SmsMessage.java
+++ b/telephony/java/com/android/internal/telephony/cdma/SmsMessage.java
@@ -16,6 +16,9 @@
package com.android.internal.telephony.cdma;
+import static com.android.internal.telephony.TelephonyProperties.PROPERTY_OPERATOR_IDP_STRING;
+
+import android.content.res.Resources;
import android.os.Parcel;
import android.os.SystemProperties;
import android.telephony.PhoneNumberUtils;
@@ -23,9 +26,8 @@
import android.telephony.SmsCbMessage;
import android.telephony.cdma.CdmaSmsCbProgramData;
import android.telephony.Rlog;
-import android.util.Log;
import android.text.TextUtils;
-import android.content.res.Resources;
+import android.util.Log;
import com.android.internal.telephony.GsmAlphabet.TextEncodingDetails;
import com.android.internal.telephony.SmsAddress;
@@ -750,8 +752,16 @@
}
private void decodeSmsDisplayAddress(SmsAddress addr) {
+ // PCD(Plus Code Dialing)
+ // 1) Replaces IDD(International Direct Dialing) with the '+' if address starts with it.
+ // TODO: Skip it for EF SMS(SUBMIT and DELIVER) because the IDD depends on current network?
+ // 2) Adds the '+' prefix if TON is International
+ // 3) Keeps the '+' if address starts with the '+'
+ String idd = SystemProperties.get(PROPERTY_OPERATOR_IDP_STRING, null);
addr.address = new String(addr.origBytes);
- if (addr.ton == CdmaSmsAddress.TON_INTERNATIONAL_OR_IP) {
+ if (!TextUtils.isEmpty(idd) && addr.address.startsWith(idd)) {
+ addr.address = "+" + addr.address.substring(idd.length());
+ } else if (addr.ton == CdmaSmsAddress.TON_INTERNATIONAL_OR_IP) {
if (addr.address.charAt(0) != '+') {
addr.address = "+" + addr.address;
}