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

Commit 3258c1f3 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix wrong report previous country code when releaseing airplane mode"...

Merge "Fix wrong report previous country code when releaseing airplane mode" into udc-qpr-dev am: 7ecd81e4

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/opt/telephony/+/23275527



Change-Id: I3985a3e05a4cb9afb90b1a3c34a074f7e9dfff51
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents eb2bf021 7ecd81e4
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -372,7 +372,10 @@ public class LocaleTracker extends Handler {
     */
    public void updateOperatorNumeric(String operatorNumeric) {
        if (TextUtils.isEmpty(operatorNumeric)) {
            sendMessageDelayed(obtainMessage(EVENT_OPERATOR_LOST), SERVICE_OPERATOR_LOST_DELAY_MS);
            if (!hasMessages(EVENT_OPERATOR_LOST)) {
                sendMessageDelayed(obtainMessage(EVENT_OPERATOR_LOST),
                        SERVICE_OPERATOR_LOST_DELAY_MS);
            }
        } else {
            removeMessages(EVENT_OPERATOR_LOST);
            updateOperatorNumericImmediate(operatorNumeric);
@@ -528,6 +531,9 @@ public class LocaleTracker extends Handler {
        if (!mPhone.isRadioOn()) {
            countryIso = "";
            countryIsoDebugInfo = "radio off";

            // clear cell infos, we don't know where the next network to camp on.
            mCellInfoList = null;
        }

        log("updateLocale: countryIso = " + countryIso
+15 −0
Original line number Diff line number Diff line
@@ -319,4 +319,19 @@ public class LocaleTrackerTest extends TelephonyTest {
        mLocaleTracker.updateOperatorNumeric(TEST_CELL_MCC + FAKE_MNC);
        verify(mNitzStateMachine, times(1)).handleCountryDetected("");
    }

    @Test
    public void testClearCellInfoForLostOperator() {
        doReturn(true).when(mPhone).isRadioOn();
        sendServiceState(ServiceState.STATE_OUT_OF_SERVICE);
        processAllMessages();
        assertTrue(mLocaleTracker.isTracking());
        assertEquals(US_COUNTRY_CODE, mLocaleTracker.getCurrentCountry());

        // airplane mode + VoWiFI case
        doReturn(false).when(mPhone).isRadioOn();
        sendServiceState(ServiceState.STATE_POWER_OFF);
        sendServiceState(ServiceState.STATE_IN_SERVICE);
        assertEquals(COUNTRY_CODE_UNAVAILABLE, mLocaleTracker.getCurrentCountry());
    }
}