Merge "Allow unknown mcc/mnc when constructing a CellIdentity from Parcel."

This commit is contained in:
Cassie Han
2017-11-17 18:47:59 +00:00
committed by Gerrit Code Review
3 changed files with 39 additions and 18 deletions

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;