diff options
| -rw-r--r-- | telephony/java/android/telephony/CellIdentityGsm.java | 19 | ||||
| -rw-r--r-- | telephony/java/android/telephony/CellIdentityLte.java | 19 | ||||
| -rw-r--r-- | telephony/java/android/telephony/CellIdentityWcdma.java | 19 |
3 files changed, 39 insertions, 18 deletions
diff --git a/telephony/java/android/telephony/CellIdentityGsm.java b/telephony/java/android/telephony/CellIdentityGsm.java index 6276626afae2..dc897a2e007e 100644 --- a/telephony/java/android/telephony/CellIdentityGsm.java +++ b/telephony/java/android/telephony/CellIdentityGsm.java @@ -115,22 +115,29 @@ public final class CellIdentityGsm implements Parcelable { // for inbound parcels mBsic = (bsic == 0xFF) ? Integer.MAX_VALUE : bsic; + // Only allow INT_MAX if unknown string mcc/mnc if (mccStr == null || mccStr.matches("^[0-9]{3}$")) { mMccStr = mccStr; - } else if (mccStr.isEmpty()) { - // If the mccStr parsed from Parcel is empty, set it as null. + } else if (mccStr.isEmpty() || mccStr.equals(String.valueOf(Integer.MAX_VALUE))) { + // If the mccStr is empty or unknown, set it as null. mMccStr = null; } else { - throw new IllegalArgumentException("invalid MCC format"); + // TODO: b/69384059 Should throw IllegalArgumentException for the invalid MCC format + // after the bug got fixed. + mMccStr = null; + log("invalid MCC format: " + mccStr); } if (mncStr == null || mncStr.matches("^[0-9]{2,3}$")) { mMncStr = mncStr; - } else if (mncStr.isEmpty()) { - // If the mncStr parsed from Parcel is empty, set it as null. + } else if (mncStr.isEmpty() || mncStr.equals(String.valueOf(Integer.MAX_VALUE))) { + // If the mncStr is empty or unknown, set it as null. mMncStr = null; } else { - throw new IllegalArgumentException("invalid MNC format"); + // TODO: b/69384059 Should throw IllegalArgumentException for the invalid MNC format + // after the bug got fixed. + mMncStr = null; + log("invalid MNC format: " + mncStr); } mAlphaLong = alphal; diff --git a/telephony/java/android/telephony/CellIdentityLte.java b/telephony/java/android/telephony/CellIdentityLte.java index 74d2966b25bc..f234b0a4d911 100644 --- a/telephony/java/android/telephony/CellIdentityLte.java +++ b/telephony/java/android/telephony/CellIdentityLte.java @@ -114,22 +114,29 @@ public final class CellIdentityLte implements Parcelable { mTac = tac; mEarfcn = earfcn; + // Only allow INT_MAX if unknown string mcc/mnc if (mccStr == null || mccStr.matches("^[0-9]{3}$")) { mMccStr = mccStr; - } else if (mccStr.isEmpty()) { - // If the mccStr parsed from Parcel is empty, set it as null. + } else if (mccStr.isEmpty() || mccStr.equals(String.valueOf(Integer.MAX_VALUE))) { + // If the mccStr is empty or unknown, set it as null. mMccStr = null; } else { - throw new IllegalArgumentException("invalid MCC format"); + // TODO: b/69384059 Should throw IllegalArgumentException for the invalid MCC format + // after the bug got fixed. + mMccStr = null; + log("invalid MCC format: " + mccStr); } if (mncStr == null || mncStr.matches("^[0-9]{2,3}$")) { mMncStr = mncStr; - } else if (mncStr.isEmpty()) { - // If the mncStr parsed from Parcel is empty, set it as null. + } else if (mncStr.isEmpty() || mncStr.equals(String.valueOf(Integer.MAX_VALUE))) { + // If the mncStr is empty or unknown, set it as null. mMncStr = null; } else { - throw new IllegalArgumentException("invalid MNC format"); + // TODO: b/69384059 Should throw IllegalArgumentException for the invalid MNC format + // after the bug got fixed. + mMncStr = null; + log("invalid MNC format: " + mncStr); } mAlphaLong = alphal; diff --git a/telephony/java/android/telephony/CellIdentityWcdma.java b/telephony/java/android/telephony/CellIdentityWcdma.java index 51b11aa82b9a..1a461f20b131 100644 --- a/telephony/java/android/telephony/CellIdentityWcdma.java +++ b/telephony/java/android/telephony/CellIdentityWcdma.java @@ -114,22 +114,29 @@ public final class CellIdentityWcdma implements Parcelable { mPsc = psc; mUarfcn = uarfcn; + // Only allow INT_MAX if unknown string mcc/mnc if (mccStr == null || mccStr.matches("^[0-9]{3}$")) { mMccStr = mccStr; - } else if (mccStr.isEmpty()) { - // If the mccStr parsed from Parcel is empty, set it as null. + } else if (mccStr.isEmpty() || mccStr.equals(String.valueOf(Integer.MAX_VALUE))) { + // If the mccStr is empty or unknown, set it as null. mMccStr = null; } else { - throw new IllegalArgumentException("invalid MCC format"); + // TODO: b/69384059 Should throw IllegalArgumentException for the invalid MCC format + // after the bug got fixed. + mMccStr = null; + log("invalid MCC format: " + mccStr); } if (mncStr == null || mncStr.matches("^[0-9]{2,3}$")) { mMncStr = mncStr; - } else if (mncStr.isEmpty()) { - // If the mncStr parsed from Parcel is empty, set it as null. + } else if (mncStr.isEmpty() || mncStr.equals(String.valueOf(Integer.MAX_VALUE))) { + // If the mncStr is empty or unknown, set it as null. mMncStr = null; } else { - throw new IllegalArgumentException("invalid MNC format"); + // TODO: b/69384059 Should throw IllegalArgumentException for the invalid MNC format + // after the bug got fixed. + mMncStr = null; + log("invalid MNC format: " + mncStr); } mAlphaLong = alphal; |