Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 993203c7 authored by Cassie's avatar Cassie
Browse files

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

Bug: 69096589
Bug: 63984327
Test: Basic telephony sanity
Change-Id: I0fe5b3a17b1a68c918f912ee98a00cfec4c5657b
parent f6b2b77e
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -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");
+5 −4
Original line number Diff line number Diff line
@@ -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");
+6 −5
Original line number Diff line number Diff line
@@ -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");