Loading src/java/com/android/internal/telephony/emergency/EmergencyNumberTracker.java +8 −1 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.annotation.NonNull; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.res.Resources; import android.os.AsyncResult; import android.os.Environment; Loading Loading @@ -199,6 +200,12 @@ public class EmergencyNumberTracker extends Handler { configMgr.registerCarrierConfigChangeListener(this::post, (slotIndex, subId, carrierId, specificCarrierId) -> onCarrierConfigUpdated(slotIndex)); //register country change listener IntentFilter filter = new IntentFilter( TelephonyManager.ACTION_NETWORK_COUNTRY_CHANGED); mPhone.getContext().registerReceiver(mIntentReceiver, filter); } else { loge("CarrierConfigManager is null."); } Loading Loading @@ -544,7 +551,7 @@ public class EmergencyNumberTracker extends Handler { readInputStreamToByteArray(gzipInputStream)); assetsDatabaseVersion = allEccMessages.revision; logd(countryIso + " asset emergency database is loaded. Ver: " + assetsDatabaseVersion + " Phone Id: " + mPhone.getPhoneId()); + " Phone Id: " + mPhone.getPhoneId() + " countryIso: " + countryIso); for (ProtobufEccData.CountryInfo countryEccInfo : allEccMessages.countries) { if (countryEccInfo.isoCode.equals(countryIso.toUpperCase(Locale.ROOT))) { for (ProtobufEccData.EccInfo eccInfo : countryEccInfo.eccs) { Loading tests/telephonytests/src/com/android/internal/telephony/emergency/EmergencyNumberTrackerTest.java +22 −1 Original line number Diff line number Diff line Loading @@ -24,18 +24,26 @@ import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.anyString; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.any; import static org.mockito.Mockito.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import org.mockito.ArgumentCaptor; import android.content.IntentFilter; import android.content.Context; import android.content.ContextWrapper; import android.content.res.AssetManager; import android.content.res.Resources; import android.os.AsyncResult; import android.os.Environment; import android.os.ParcelFileDescriptor; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.telephony.emergency.EmergencyNumber; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; Loading Loading @@ -130,7 +138,8 @@ public class EmergencyNumberTrackerTest extends TelephonyTest { super.setUp(getClass().getSimpleName()); mShortNumberInfo = mock(ShortNumberInfo.class); mSubControllerMock = mock(SubscriptionController.class); mContext = InstrumentationRegistry.getTargetContext(); mContext = new ContextWrapper(InstrumentationRegistry.getTargetContext()); mMockContext = mock(Context.class); mResources = mock(Resources.class); Loading Loading @@ -366,6 +375,18 @@ public class EmergencyNumberTrackerTest extends TelephonyTest { mEmergencyNumberTrackerMock.getRadioEmergencyNumberList()); } @Test public void testRegistrationForCountryChangeIntent() throws Exception { EmergencyNumberTracker localEmergencyNumberTracker; Context spyContext = spy(mContext); doReturn(spyContext).when(mPhone).getContext(); ArgumentCaptor<IntentFilter> intentCaptor = ArgumentCaptor.forClass(IntentFilter.class); localEmergencyNumberTracker = new EmergencyNumberTracker(mPhone, mSimulatedCommands); verify(spyContext, times(1)).registerReceiver(any(), intentCaptor.capture()); IntentFilter ifilter = intentCaptor.getValue(); assertTrue(ifilter.hasAction(TelephonyManager.ACTION_NETWORK_COUNTRY_CHANGED)); } @Test public void testUpdateEmergencyCountryIso() throws Exception { sendEmergencyNumberPrefix(mEmergencyNumberTrackerMock); Loading Loading
src/java/com/android/internal/telephony/emergency/EmergencyNumberTracker.java +8 −1 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.annotation.NonNull; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.res.Resources; import android.os.AsyncResult; import android.os.Environment; Loading Loading @@ -199,6 +200,12 @@ public class EmergencyNumberTracker extends Handler { configMgr.registerCarrierConfigChangeListener(this::post, (slotIndex, subId, carrierId, specificCarrierId) -> onCarrierConfigUpdated(slotIndex)); //register country change listener IntentFilter filter = new IntentFilter( TelephonyManager.ACTION_NETWORK_COUNTRY_CHANGED); mPhone.getContext().registerReceiver(mIntentReceiver, filter); } else { loge("CarrierConfigManager is null."); } Loading Loading @@ -544,7 +551,7 @@ public class EmergencyNumberTracker extends Handler { readInputStreamToByteArray(gzipInputStream)); assetsDatabaseVersion = allEccMessages.revision; logd(countryIso + " asset emergency database is loaded. Ver: " + assetsDatabaseVersion + " Phone Id: " + mPhone.getPhoneId()); + " Phone Id: " + mPhone.getPhoneId() + " countryIso: " + countryIso); for (ProtobufEccData.CountryInfo countryEccInfo : allEccMessages.countries) { if (countryEccInfo.isoCode.equals(countryIso.toUpperCase(Locale.ROOT))) { for (ProtobufEccData.EccInfo eccInfo : countryEccInfo.eccs) { Loading
tests/telephonytests/src/com/android/internal/telephony/emergency/EmergencyNumberTrackerTest.java +22 −1 Original line number Diff line number Diff line Loading @@ -24,18 +24,26 @@ import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.anyString; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.any; import static org.mockito.Mockito.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import org.mockito.ArgumentCaptor; import android.content.IntentFilter; import android.content.Context; import android.content.ContextWrapper; import android.content.res.AssetManager; import android.content.res.Resources; import android.os.AsyncResult; import android.os.Environment; import android.os.ParcelFileDescriptor; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.telephony.emergency.EmergencyNumber; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; Loading Loading @@ -130,7 +138,8 @@ public class EmergencyNumberTrackerTest extends TelephonyTest { super.setUp(getClass().getSimpleName()); mShortNumberInfo = mock(ShortNumberInfo.class); mSubControllerMock = mock(SubscriptionController.class); mContext = InstrumentationRegistry.getTargetContext(); mContext = new ContextWrapper(InstrumentationRegistry.getTargetContext()); mMockContext = mock(Context.class); mResources = mock(Resources.class); Loading Loading @@ -366,6 +375,18 @@ public class EmergencyNumberTrackerTest extends TelephonyTest { mEmergencyNumberTrackerMock.getRadioEmergencyNumberList()); } @Test public void testRegistrationForCountryChangeIntent() throws Exception { EmergencyNumberTracker localEmergencyNumberTracker; Context spyContext = spy(mContext); doReturn(spyContext).when(mPhone).getContext(); ArgumentCaptor<IntentFilter> intentCaptor = ArgumentCaptor.forClass(IntentFilter.class); localEmergencyNumberTracker = new EmergencyNumberTracker(mPhone, mSimulatedCommands); verify(spyContext, times(1)).registerReceiver(any(), intentCaptor.capture()); IntentFilter ifilter = intentCaptor.getValue(); assertTrue(ifilter.hasAction(TelephonyManager.ACTION_NETWORK_COUNTRY_CHANGED)); } @Test public void testUpdateEmergencyCountryIso() throws Exception { sendEmergencyNumberPrefix(mEmergencyNumberTrackerMock); Loading