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

Commit 4d71c81b authored by Chinmay Dhodapkar's avatar Chinmay Dhodapkar Committed by Automerger Merge Worker
Browse files

Merge "update fallback logic to use cached country" into udc-dev am: 92454b53 am: 3a211f46

parents 213c22d2 3a211f46
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -684,7 +684,7 @@ public class EmergencyNumberTracker extends Handler {
                + countryIso);
        updateEmergencyCountryIso(countryIso.toLowerCase(Locale.ROOT));
        // Use cached country iso in APM to load emergency number database.
        if (TextUtils.isEmpty(countryIso) && isAirplaneModeEnabled()) {
        if (TextUtils.isEmpty(countryIso)) {
            countryIso = getCountryIsoForCachingDatabase();
            logd("updateEmergencyNumberListDatabaseAndNotify(): using cached APM country "
                    + countryIso);
+30 −1
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ import android.os.Environment;
import android.os.ParcelFileDescriptor;
import android.os.PersistableBundle;
import android.telephony.CarrierConfigManager;
import android.telephony.ServiceState;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.telephony.emergency.EmergencyNumber;
@@ -50,6 +51,7 @@ import androidx.test.InstrumentationRegistry;

import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneFactory;
import com.android.internal.telephony.ServiceStateTracker;
import com.android.internal.telephony.TelephonyTest;

import com.google.i18n.phonenumbers.ShortNumberInfo;
@@ -368,8 +370,31 @@ public class EmergencyNumberTrackerTest extends TelephonyTest {
        IntentFilter ifilter = intentCaptor.getValue();
        assertTrue(ifilter.hasAction(TelephonyManager.ACTION_NETWORK_COUNTRY_CHANGED));
    }

    @Test
    public void testUpdateEmergencyCountryIso_whenStatePowerOff() throws Exception {
        testUpdateEmergencyCountryIso(ServiceState.STATE_POWER_OFF);
    }

    @Test
    public void testUpdateEmergencyCountryIso_whenStateInService() throws Exception {
        testUpdateEmergencyCountryIso(ServiceState.STATE_IN_SERVICE);
    }

    @Test
    public void testUpdateEmergencyCountryIso() throws Exception {
    public void testUpdateEmergencyCountryIso_whenStateOos() throws Exception {
        testUpdateEmergencyCountryIso(ServiceState.STATE_OUT_OF_SERVICE);
    }

    @Test
    public void testUpdateEmergencyCountryIso_whenStateEmergencyOnly() throws Exception {
        testUpdateEmergencyCountryIso(ServiceState.STATE_EMERGENCY_ONLY);
    }

    private void testUpdateEmergencyCountryIso(int ss) throws Exception {
        doReturn(mLocaleTracker).when(mSST).getLocaleTracker();
        doReturn("us").when(mLocaleTracker).getLastKnownCountryIso();

        sendEmergencyNumberPrefix(mEmergencyNumberTrackerMock);

        mEmergencyNumberTrackerMock.updateEmergencyNumberDatabaseCountryChange("us");
@@ -377,10 +402,14 @@ public class EmergencyNumberTrackerTest extends TelephonyTest {
        assertTrue(mEmergencyNumberTrackerMock.getEmergencyCountryIso().equals("us"));
        assertTrue(mEmergencyNumberTrackerMock.getLastKnownEmergencyCountryIso().equals("us"));

        doReturn(ss).when(mServiceState).getState();
        mEmergencyNumberTrackerMock.updateEmergencyNumberDatabaseCountryChange("");
        processAllMessages();
        assertTrue(mEmergencyNumberTrackerMock.getEmergencyCountryIso().equals(""));
        assertTrue(mEmergencyNumberTrackerMock.getLastKnownEmergencyCountryIso().equals("us"));

        //make sure we look up cached location whenever current iso is null
        verify(mLocaleTracker).getLastKnownCountryIso();
    }

    @Test