OSDN Git Service

Fix a crash while printing ICCID because of alphabets in UICC.
authorSanket Padawe <sanketpadawe@google.com>
Mon, 2 Nov 2015 23:45:18 +0000 (15:45 -0800)
committerThe Android Automerger <android-build@google.com>
Tue, 3 Nov 2015 22:35:15 +0000 (14:35 -0800)
Bug: 25401769
Change-Id: Ieda058817b8d3cb4b1696fd9932bd0f10da55573

telephony/java/android/telephony/SubscriptionInfo.java

index e11c8d3..d1d6e0d 100644 (file)
@@ -332,9 +332,24 @@ public class SubscriptionInfo implements Parcelable {
         return 0;
     }
 
+    /**
+     * @hide
+     */
+    public static String givePrintableIccid(String iccId) {
+        String iccIdToPrint = null;
+        if (iccId != null) {
+            if (iccId.length() > 9) {
+                iccIdToPrint = iccId.substring(0, 9) + "XXXXXXXXXXX";
+            } else {
+                iccIdToPrint = iccId;
+            }
+        }
+        return iccIdToPrint;
+    }
+
     @Override
     public String toString() {
-        String iccIdToPrint = mIccId != null ? mIccId.substring(0, 9) + "XXXXXXXXXXX" : null;
+        String iccIdToPrint = givePrintableIccid(mIccId);
         return "{id=" + mId + ", iccId=" + iccIdToPrint + " simSlotIndex=" + mSimSlotIndex
                 + " displayName=" + mDisplayName + " carrierName=" + mCarrierName
                 + " nameSource=" + mNameSource + " iconTint=" + mIconTint