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

Commit f9c5a460 authored by Jordan Liu's avatar Jordan Liu Committed by android-build-merger
Browse files

Merge "Do not set brandOverride if opNames are invalid"

am: 74379dc8

Change-Id: Iddac8260ae4c231faf4c86df37502557dabde24e
parents 6604b5bf 74379dc8
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -2205,8 +2205,6 @@ public class ServiceStateTracker extends Handler {
            }

            case EVENT_POLL_STATE_OPERATOR: {
                String brandOverride = getOperatorBrandOverride();
                mCdnr.updateEfForBrandOverride(brandOverride);
                if (mPhone.isPhoneTypeGsm()) {
                    String opNames[] = (String[]) ar.result;

@@ -2214,6 +2212,8 @@ public class ServiceStateTracker extends Handler {
                        mNewSS.setOperatorAlphaLongRaw(opNames[0]);
                        mNewSS.setOperatorAlphaShortRaw(opNames[1]);
                        // FIXME: Giving brandOverride higher precedence, is this desired?
                        String brandOverride = getOperatorBrandOverride();
                        mCdnr.updateEfForBrandOverride(brandOverride);
                        if (brandOverride != null) {
                            log("EVENT_POLL_STATE_OPERATOR: use brandOverride=" + brandOverride);
                            mNewSS.setOperatorName(brandOverride, brandOverride, opNames[2]);
@@ -2243,6 +2243,8 @@ public class ServiceStateTracker extends Handler {
                            // NV device (as opposed to CSIM)
                            mNewSS.setOperatorName(opNames[0], opNames[1], opNames[2]);
                        } else {
                            String brandOverride = getOperatorBrandOverride();
                            mCdnr.updateEfForBrandOverride(brandOverride);
                            if (brandOverride != null) {
                                mNewSS.setOperatorName(brandOverride, brandOverride, opNames[2]);
                            } else {
+20 −0
Original line number Diff line number Diff line
@@ -1913,6 +1913,26 @@ public class ServiceStateTrackerTest extends TelephonyTest {
        waitForLastHandlerAction(mSSTTestHandler.getThreadHandler());
    }

    @Test
    public void testPollStateOperatorWhileNotRegistered() {
        final String[] oldOpNamesResult = new String[] { "Old carrier long", "Old carrier", "" };
        final String[] badOpNamesResult = null;
        sst.mPollingContext[0] = 1;
        sst.sendMessage(sst.obtainMessage(
                ServiceStateTracker.EVENT_POLL_STATE_OPERATOR,
                new AsyncResult(sst.mPollingContext, oldOpNamesResult, null)));
        waitForLastHandlerAction(mSSTTestHandler.getThreadHandler());
        assertEquals(oldOpNamesResult[0], sst.getServiceState().getOperatorAlpha());

        // if the device is not registered, the modem returns an invalid operator
        sst.mPollingContext[0] = 1;
        sst.sendMessage(sst.obtainMessage(
                ServiceStateTracker.EVENT_POLL_STATE_OPERATOR,
                new AsyncResult(sst.mPollingContext, badOpNamesResult, null)));
        waitForLastHandlerAction(mSSTTestHandler.getThreadHandler());
        assertEquals(null, sst.getServiceState().getOperatorAlpha());
    }

    // Edge and GPRS are grouped under the same family and Edge has higher rate than GPRS.
    // Expect no rat update when move from E to G.
    @Test