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

am: 45e1c58591

Change-Id: Ic4da1daf9e47e064068d007f3e5a4fff3d8ef2e6
This commit is contained in:
Cassie
2017-11-14 16:57:15 +00:00
committed by android-build-merger
3 changed files with 16 additions and 13 deletions

View File

@@ -115,10 +115,11 @@ 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");
@@ -126,8 +127,8 @@ public final class CellIdentityGsm implements Parcelable {
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");

View File

@@ -114,10 +114,11 @@ 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");
@@ -125,8 +126,8 @@ public final class CellIdentityLte implements Parcelable {
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");

View File

@@ -114,10 +114,11 @@ 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");
@@ -125,8 +126,8 @@ public final class CellIdentityWcdma implements Parcelable {
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");
@@ -135,7 +136,7 @@ public final class CellIdentityWcdma implements Parcelable {
mAlphaLong = alphal;
mAlphaShort = alphas;
}
private CellIdentityWcdma(CellIdentityWcdma cid) {
this(cid.mLac, cid.mCid, cid.mPsc, cid.mUarfcn, cid.mMccStr,
cid.mMncStr, cid.mAlphaLong, cid.mAlphaShort);