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

Commit b811c407 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 am: 3258c1f3

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



Change-Id: I848aeb96d4bd481804cd44be5fed048c78073601
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents f530fb96 3258c1f3
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());
    }
}