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

Commit 218d09f9 authored by Nathan Harold's avatar Nathan Harold Committed by android-build-merger
Browse files

Extract PLMN from Voice CellIdentity for Locale

am: 1dbda495

Change-Id: Iba541b0942d78bbf9d58384e638f213ab4b73b58
parents a65a71d5 1dbda495
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -3333,8 +3333,17 @@ public class ServiceStateTracker extends Handler {

            tm.setNetworkOperatorNumericForPhone(mPhone.getPhoneId(), operatorNumeric);

            if (isInvalidOperatorNumeric(operatorNumeric)) {
                if (DBG) log("operatorNumeric " + operatorNumeric + " is invalid");
            // If the OPERATOR command hasn't returned a valid operator, but if the device has
            // camped on a cell either to attempt registration or for emergency services, then
            // for purposes of setting the locale, we don't care if registration fails or is
            // incomplete.
            String localeOperator = isInvalidOperatorNumeric(operatorNumeric)
                    && (mCellIdentity != null)
                    ? mCellIdentity.getMccString() + mCellIdentity.getMncString()
                    : operatorNumeric;

            if (isInvalidOperatorNumeric(localeOperator)) {
                if (DBG) log("localeOperator " + localeOperator + " is invalid");
                // Passing empty string is important for the first update. The initial value of
                // operator numeric in locale tracker is null. The async update will allow getting
                // cell info from the modem instead of using the cached one.
@@ -3346,10 +3355,10 @@ public class ServiceStateTracker extends Handler {

                // Update IDD.
                if (!mPhone.isPhoneTypeGsm()) {
                    setOperatorIdd(operatorNumeric);
                    setOperatorIdd(localeOperator);
                }

                mLocaleTracker.updateOperatorNumeric(operatorNumeric);
                mLocaleTracker.updateOperatorNumeric(localeOperator);
            }

            tm.setNetworkRoamingForPhone(mPhone.getPhoneId(),