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

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

Extract PLMN from Voice CellIdentity for Locale am: 09ee2e53

am: 2be02932

Change-Id: I025465f85748bd823340ef1cd21202270f3d9f5b
parents cb78acbd 2be02932
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -3325,8 +3325,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.
@@ -3338,10 +3347,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(),