aboutsummaryrefslogtreecommitdiff
path: root/tests/telephonytests/src/com/android/internal/telephony/emergency/EmergencyNumberTrackerTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/telephonytests/src/com/android/internal/telephony/emergency/EmergencyNumberTrackerTest.java')
-rw-r--r--tests/telephonytests/src/com/android/internal/telephony/emergency/EmergencyNumberTrackerTest.java31
1 files changed, 30 insertions, 1 deletions
diff --git a/tests/telephonytests/src/com/android/internal/telephony/emergency/EmergencyNumberTrackerTest.java b/tests/telephonytests/src/com/android/internal/telephony/emergency/EmergencyNumberTrackerTest.java
index f7ea4b66f9..c47eb3beae 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/emergency/EmergencyNumberTrackerTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/emergency/EmergencyNumberTrackerTest.java
@@ -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