Loading src/java/com/android/internal/telephony/emergency/EmergencyNumberTracker.java +0 −78 Original line number Diff line number Diff line Loading @@ -16,9 +16,6 @@ package com.android.internal.telephony.emergency; import static android.telephony.TelephonyManager.HAL_SERVICE_VOICE; import android.annotation.NonNull; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; Loading @@ -30,7 +27,6 @@ import android.os.Handler; import android.os.Message; import android.os.ParcelFileDescriptor; import android.os.PersistableBundle; import android.os.SystemProperties; import android.telephony.CarrierConfigManager; import android.telephony.CellIdentity; import android.telephony.PhoneNumberUtils; Loading @@ -47,7 +43,6 @@ import android.util.LocalLog; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.telephony.CommandsInterface; import com.android.internal.telephony.HalVersion; import com.android.internal.telephony.LocaleTracker; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; Loading Loading @@ -110,7 +105,6 @@ public class EmergencyNumberTracker extends Handler { private String mCountryIso; private String mLastKnownEmergencyCountryIso = ""; private int mCurrentDatabaseVersion = INVALID_DATABASE_VERSION; private boolean mIsHalVersionLessThan1Dot4 = false; private Resources mResources = null; /** * Used for storing all specific mnc's along with the list of emergency numbers Loading Loading @@ -209,9 +203,6 @@ public class EmergencyNumberTracker extends Handler { } else { loge("CarrierConfigManager is null."); } mIsHalVersionLessThan1Dot4 = mPhone.getHalVersion(HAL_SERVICE_VOICE) .lessOrEqual(new HalVersion(1, 3)); } else { loge("mPhone is null."); } Loading Loading @@ -1025,9 +1016,6 @@ public class EmergencyNumberTracker extends Handler { private List<EmergencyNumber> getEmergencyNumberListFromEccList() { List<EmergencyNumber> emergencyNumberList = new ArrayList<>(); if (mIsHalVersionLessThan1Dot4) { emergencyNumberList.addAll(getEmergencyNumberListFromEccListForHalv1_3()); } String emergencyNumbers = ((isSimAbsent()) ? "112,911,000,08,110,118,119,999" : "112,911"); for (String emergencyNum : emergencyNumbers.split(",")) { emergencyNumberList.add(getLabeledEmergencyNumberForEcclist(emergencyNum)); Loading @@ -1039,37 +1027,6 @@ public class EmergencyNumberTracker extends Handler { return emergencyNumberList; } private String getEmergencyNumberListForHalv1_3() { int slotId; if (mPhone.isSubscriptionManagerServiceEnabled()) { slotId = SubscriptionManagerService.getInstance().getSlotIndex(mPhone.getSubId()); } else { slotId = SubscriptionController.getInstance().getSlotIndex(mPhone.getSubId()); } String ecclist = (slotId <= 0) ? "ril.ecclist" : ("ril.ecclist" + slotId); String emergencyNumbers = SystemProperties.get(ecclist, ""); if (TextUtils.isEmpty(emergencyNumbers)) { // then read-only ecclist property since old RIL only uses this emergencyNumbers = SystemProperties.get("ro.ril.ecclist"); } logd(ecclist + " emergencyNumbers: " + emergencyNumbers); return emergencyNumbers; } private List<EmergencyNumber> getEmergencyNumberListFromEccListForHalv1_3() { List<EmergencyNumber> emergencyNumberList = new ArrayList<>(); String emergencyNumbers = getEmergencyNumberListForHalv1_3(); if (!TextUtils.isEmpty(emergencyNumbers)) { for (String emergencyNum : emergencyNumbers.split(",")) { emergencyNumberList.add(getLabeledEmergencyNumberForEcclist(emergencyNum)); } } return emergencyNumberList; } private List<EmergencyNumber> getEmergencyNumberListWithPrefix( List<EmergencyNumber> emergencyNumberList) { List<EmergencyNumber> emergencyNumberListWithPrefix = new ArrayList<>(); Loading Loading @@ -1167,14 +1124,6 @@ public class EmergencyNumberTracker extends Handler { String countryIso = getLastKnownEmergencyCountryIso(); logd("country:" + countryIso); if (mIsHalVersionLessThan1Dot4) { emergencyNumbers = getEmergencyNumberListForHalv1_3(); if (!TextUtils.isEmpty(emergencyNumbers)) { return isEmergencyNumberFromEccListForHalv1_3(number, emergencyNumbers); } } logd("System property doesn't provide any emergency numbers." + " Use embedded logic for determining ones."); Loading Loading @@ -1215,25 +1164,6 @@ public class EmergencyNumberTracker extends Handler { return false; } private boolean isEmergencyNumberFromEccListForHalv1_3(@NonNull String number, @NonNull String emergencyNumbers) { // searches through the comma-separated list for a match, // return true if one is found. for (String emergencyNum : emergencyNumbers.split(",")) { if (number.equals(emergencyNum)) { return true; } else { for (String prefix : mEmergencyNumberPrefix) { if (number.equals(prefix + emergencyNum)) { return true; } } } } // no matches found against the list! return false; } /** * Execute command for updating emergency number for test mode. */ Loading Loading @@ -1369,9 +1299,6 @@ public class EmergencyNumberTracker extends Handler { */ public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { final IndentingPrintWriter ipw = new IndentingPrintWriter(pw, " "); ipw.println(" Hal Version:" + mPhone.getHalVersion(HAL_SERVICE_VOICE)); ipw.println(" ========================================= "); ipw.println(" Country Iso:" + getEmergencyCountryIso()); ipw.println(" ========================================= "); Loading Loading @@ -1408,11 +1335,6 @@ public class EmergencyNumberTracker extends Handler { ipw.decreaseIndent(); ipw.println(" ========================================= "); if (mIsHalVersionLessThan1Dot4) { getEmergencyNumberListForHalv1_3(); ipw.println(" ========================================= "); } ipw.println("Emergency Number List for Phone" + "(" + mPhone.getPhoneId() + ")"); ipw.increaseIndent(); ipw.println(getEmergencyNumberList()); Loading tests/telephonytests/src/com/android/internal/telephony/emergency/EmergencyNumberTrackerTest.java +0 −44 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.internal.telephony.emergency; import static android.telephony.TelephonyManager.HAL_SERVICE_VOICE; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; Loading Loading @@ -50,7 +48,6 @@ import android.testing.TestableLooper; import androidx.test.InstrumentationRegistry; import com.android.internal.telephony.HalVersion; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneFactory; import com.android.internal.telephony.SubscriptionController; Loading Loading @@ -150,12 +147,10 @@ public class EmergencyNumberTrackerTest extends TelephonyTest { doReturn(mContext).when(mPhone).getContext(); doReturn(0).when(mPhone).getPhoneId(); doReturn(SUB_ID_PHONE_1).when(mPhone).getSubId(); doReturn(new HalVersion(1, 4)).when(mPhone).getHalVersion(HAL_SERVICE_VOICE); doReturn(mContext).when(mPhone2).getContext(); doReturn(1).when(mPhone2).getPhoneId(); doReturn(SUB_ID_PHONE_2).when(mPhone2).getSubId(); doReturn(new HalVersion(1, 4)).when(mPhone2).getHalVersion(HAL_SERVICE_VOICE); initializeEmergencyNumberListTestSamples(); mEmergencyNumberTrackerMock = new EmergencyNumberTracker(mPhone, mSimulatedCommands); Loading Loading @@ -429,10 +424,6 @@ public class EmergencyNumberTrackerTest extends TelephonyTest { @Test public void testIsEmergencyNumber_FallbackToShortNumberXml_NoSims() throws Exception { // Set up the Hal version as 1.4 doReturn(new HalVersion(1, 4)).when(mPhone).getHalVersion(HAL_SERVICE_VOICE); doReturn(new HalVersion(1, 4)).when(mPhone2).getHalVersion(HAL_SERVICE_VOICE); setDsdsPhones(); replaceInstance(SubscriptionController.class, "sInstance", null, mSubControllerMock); Loading Loading @@ -469,10 +460,6 @@ public class EmergencyNumberTrackerTest extends TelephonyTest { } private void testIsEmergencyNumber_NoFallbackToShortNumberXml(int numSims) throws Exception { // Set up the Hal version as 1.4 doReturn(new HalVersion(1, 4)).when(mPhone).getHalVersion(HAL_SERVICE_VOICE); doReturn(new HalVersion(1, 4)).when(mPhone2).getHalVersion(HAL_SERVICE_VOICE); assertTrue((numSims > 0 && numSims < 3)); setDsdsPhones(); replaceInstance(SubscriptionController.class, "sInstance", null, mSubControllerMock); Loading Loading @@ -547,34 +534,6 @@ public class EmergencyNumberTrackerTest extends TelephonyTest { assertTrue(mEmergencyNumberTrackerMock2.getEmergencyCountryIso().equals("us")); } /** * In 1.3 or less HAL. we should not use database number. */ @Test public void testUsingEmergencyNumberDatabaseWheneverHal_1_3() { doReturn(new HalVersion(1, 3)).when(mPhone).getHalVersion(HAL_SERVICE_VOICE); doReturn(mMockContext).when(mPhone).getContext(); doReturn(mResources).when(mMockContext).getResources(); doReturn(true).when(mResources).getBoolean( com.android.internal.R.bool.ignore_emergency_number_routing_from_db); EmergencyNumberTracker emergencyNumberTracker = new EmergencyNumberTracker( mPhone, mSimulatedCommands); sendEmergencyNumberPrefix(emergencyNumberTracker); emergencyNumberTracker.updateEmergencyCountryIsoAllPhones("us"); processAllMessages(); boolean hasDatabaseNumber = false; for (EmergencyNumber number : emergencyNumberTracker.getEmergencyNumberList()) { if (number.isFromSources(EmergencyNumber.EMERGENCY_NUMBER_SOURCE_DATABASE)) { hasDatabaseNumber = true; break; } } assertFalse(hasDatabaseNumber); } /** * In 1.4 or above HAL, we should use database number. */ Loading Loading @@ -813,9 +772,6 @@ public class EmergencyNumberTrackerTest extends TelephonyTest { */ @Test public void testOtaEmergencyNumberDatabase() { // Set up the Hal version as 1.4 to apply emergency number database doReturn(new HalVersion(1, 4)).when(mPhone).getHalVersion(HAL_SERVICE_VOICE); sendEmergencyNumberPrefix(mEmergencyNumberTrackerMock); mEmergencyNumberTrackerMock.updateEmergencyCountryIsoAllPhones(""); processAllMessages(); Loading Loading
src/java/com/android/internal/telephony/emergency/EmergencyNumberTracker.java +0 −78 Original line number Diff line number Diff line Loading @@ -16,9 +16,6 @@ package com.android.internal.telephony.emergency; import static android.telephony.TelephonyManager.HAL_SERVICE_VOICE; import android.annotation.NonNull; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; Loading @@ -30,7 +27,6 @@ import android.os.Handler; import android.os.Message; import android.os.ParcelFileDescriptor; import android.os.PersistableBundle; import android.os.SystemProperties; import android.telephony.CarrierConfigManager; import android.telephony.CellIdentity; import android.telephony.PhoneNumberUtils; Loading @@ -47,7 +43,6 @@ import android.util.LocalLog; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.telephony.CommandsInterface; import com.android.internal.telephony.HalVersion; import com.android.internal.telephony.LocaleTracker; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; Loading Loading @@ -110,7 +105,6 @@ public class EmergencyNumberTracker extends Handler { private String mCountryIso; private String mLastKnownEmergencyCountryIso = ""; private int mCurrentDatabaseVersion = INVALID_DATABASE_VERSION; private boolean mIsHalVersionLessThan1Dot4 = false; private Resources mResources = null; /** * Used for storing all specific mnc's along with the list of emergency numbers Loading Loading @@ -209,9 +203,6 @@ public class EmergencyNumberTracker extends Handler { } else { loge("CarrierConfigManager is null."); } mIsHalVersionLessThan1Dot4 = mPhone.getHalVersion(HAL_SERVICE_VOICE) .lessOrEqual(new HalVersion(1, 3)); } else { loge("mPhone is null."); } Loading Loading @@ -1025,9 +1016,6 @@ public class EmergencyNumberTracker extends Handler { private List<EmergencyNumber> getEmergencyNumberListFromEccList() { List<EmergencyNumber> emergencyNumberList = new ArrayList<>(); if (mIsHalVersionLessThan1Dot4) { emergencyNumberList.addAll(getEmergencyNumberListFromEccListForHalv1_3()); } String emergencyNumbers = ((isSimAbsent()) ? "112,911,000,08,110,118,119,999" : "112,911"); for (String emergencyNum : emergencyNumbers.split(",")) { emergencyNumberList.add(getLabeledEmergencyNumberForEcclist(emergencyNum)); Loading @@ -1039,37 +1027,6 @@ public class EmergencyNumberTracker extends Handler { return emergencyNumberList; } private String getEmergencyNumberListForHalv1_3() { int slotId; if (mPhone.isSubscriptionManagerServiceEnabled()) { slotId = SubscriptionManagerService.getInstance().getSlotIndex(mPhone.getSubId()); } else { slotId = SubscriptionController.getInstance().getSlotIndex(mPhone.getSubId()); } String ecclist = (slotId <= 0) ? "ril.ecclist" : ("ril.ecclist" + slotId); String emergencyNumbers = SystemProperties.get(ecclist, ""); if (TextUtils.isEmpty(emergencyNumbers)) { // then read-only ecclist property since old RIL only uses this emergencyNumbers = SystemProperties.get("ro.ril.ecclist"); } logd(ecclist + " emergencyNumbers: " + emergencyNumbers); return emergencyNumbers; } private List<EmergencyNumber> getEmergencyNumberListFromEccListForHalv1_3() { List<EmergencyNumber> emergencyNumberList = new ArrayList<>(); String emergencyNumbers = getEmergencyNumberListForHalv1_3(); if (!TextUtils.isEmpty(emergencyNumbers)) { for (String emergencyNum : emergencyNumbers.split(",")) { emergencyNumberList.add(getLabeledEmergencyNumberForEcclist(emergencyNum)); } } return emergencyNumberList; } private List<EmergencyNumber> getEmergencyNumberListWithPrefix( List<EmergencyNumber> emergencyNumberList) { List<EmergencyNumber> emergencyNumberListWithPrefix = new ArrayList<>(); Loading Loading @@ -1167,14 +1124,6 @@ public class EmergencyNumberTracker extends Handler { String countryIso = getLastKnownEmergencyCountryIso(); logd("country:" + countryIso); if (mIsHalVersionLessThan1Dot4) { emergencyNumbers = getEmergencyNumberListForHalv1_3(); if (!TextUtils.isEmpty(emergencyNumbers)) { return isEmergencyNumberFromEccListForHalv1_3(number, emergencyNumbers); } } logd("System property doesn't provide any emergency numbers." + " Use embedded logic for determining ones."); Loading Loading @@ -1215,25 +1164,6 @@ public class EmergencyNumberTracker extends Handler { return false; } private boolean isEmergencyNumberFromEccListForHalv1_3(@NonNull String number, @NonNull String emergencyNumbers) { // searches through the comma-separated list for a match, // return true if one is found. for (String emergencyNum : emergencyNumbers.split(",")) { if (number.equals(emergencyNum)) { return true; } else { for (String prefix : mEmergencyNumberPrefix) { if (number.equals(prefix + emergencyNum)) { return true; } } } } // no matches found against the list! return false; } /** * Execute command for updating emergency number for test mode. */ Loading Loading @@ -1369,9 +1299,6 @@ public class EmergencyNumberTracker extends Handler { */ public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { final IndentingPrintWriter ipw = new IndentingPrintWriter(pw, " "); ipw.println(" Hal Version:" + mPhone.getHalVersion(HAL_SERVICE_VOICE)); ipw.println(" ========================================= "); ipw.println(" Country Iso:" + getEmergencyCountryIso()); ipw.println(" ========================================= "); Loading Loading @@ -1408,11 +1335,6 @@ public class EmergencyNumberTracker extends Handler { ipw.decreaseIndent(); ipw.println(" ========================================= "); if (mIsHalVersionLessThan1Dot4) { getEmergencyNumberListForHalv1_3(); ipw.println(" ========================================= "); } ipw.println("Emergency Number List for Phone" + "(" + mPhone.getPhoneId() + ")"); ipw.increaseIndent(); ipw.println(getEmergencyNumberList()); Loading
tests/telephonytests/src/com/android/internal/telephony/emergency/EmergencyNumberTrackerTest.java +0 −44 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.internal.telephony.emergency; import static android.telephony.TelephonyManager.HAL_SERVICE_VOICE; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; Loading Loading @@ -50,7 +48,6 @@ import android.testing.TestableLooper; import androidx.test.InstrumentationRegistry; import com.android.internal.telephony.HalVersion; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneFactory; import com.android.internal.telephony.SubscriptionController; Loading Loading @@ -150,12 +147,10 @@ public class EmergencyNumberTrackerTest extends TelephonyTest { doReturn(mContext).when(mPhone).getContext(); doReturn(0).when(mPhone).getPhoneId(); doReturn(SUB_ID_PHONE_1).when(mPhone).getSubId(); doReturn(new HalVersion(1, 4)).when(mPhone).getHalVersion(HAL_SERVICE_VOICE); doReturn(mContext).when(mPhone2).getContext(); doReturn(1).when(mPhone2).getPhoneId(); doReturn(SUB_ID_PHONE_2).when(mPhone2).getSubId(); doReturn(new HalVersion(1, 4)).when(mPhone2).getHalVersion(HAL_SERVICE_VOICE); initializeEmergencyNumberListTestSamples(); mEmergencyNumberTrackerMock = new EmergencyNumberTracker(mPhone, mSimulatedCommands); Loading Loading @@ -429,10 +424,6 @@ public class EmergencyNumberTrackerTest extends TelephonyTest { @Test public void testIsEmergencyNumber_FallbackToShortNumberXml_NoSims() throws Exception { // Set up the Hal version as 1.4 doReturn(new HalVersion(1, 4)).when(mPhone).getHalVersion(HAL_SERVICE_VOICE); doReturn(new HalVersion(1, 4)).when(mPhone2).getHalVersion(HAL_SERVICE_VOICE); setDsdsPhones(); replaceInstance(SubscriptionController.class, "sInstance", null, mSubControllerMock); Loading Loading @@ -469,10 +460,6 @@ public class EmergencyNumberTrackerTest extends TelephonyTest { } private void testIsEmergencyNumber_NoFallbackToShortNumberXml(int numSims) throws Exception { // Set up the Hal version as 1.4 doReturn(new HalVersion(1, 4)).when(mPhone).getHalVersion(HAL_SERVICE_VOICE); doReturn(new HalVersion(1, 4)).when(mPhone2).getHalVersion(HAL_SERVICE_VOICE); assertTrue((numSims > 0 && numSims < 3)); setDsdsPhones(); replaceInstance(SubscriptionController.class, "sInstance", null, mSubControllerMock); Loading Loading @@ -547,34 +534,6 @@ public class EmergencyNumberTrackerTest extends TelephonyTest { assertTrue(mEmergencyNumberTrackerMock2.getEmergencyCountryIso().equals("us")); } /** * In 1.3 or less HAL. we should not use database number. */ @Test public void testUsingEmergencyNumberDatabaseWheneverHal_1_3() { doReturn(new HalVersion(1, 3)).when(mPhone).getHalVersion(HAL_SERVICE_VOICE); doReturn(mMockContext).when(mPhone).getContext(); doReturn(mResources).when(mMockContext).getResources(); doReturn(true).when(mResources).getBoolean( com.android.internal.R.bool.ignore_emergency_number_routing_from_db); EmergencyNumberTracker emergencyNumberTracker = new EmergencyNumberTracker( mPhone, mSimulatedCommands); sendEmergencyNumberPrefix(emergencyNumberTracker); emergencyNumberTracker.updateEmergencyCountryIsoAllPhones("us"); processAllMessages(); boolean hasDatabaseNumber = false; for (EmergencyNumber number : emergencyNumberTracker.getEmergencyNumberList()) { if (number.isFromSources(EmergencyNumber.EMERGENCY_NUMBER_SOURCE_DATABASE)) { hasDatabaseNumber = true; break; } } assertFalse(hasDatabaseNumber); } /** * In 1.4 or above HAL, we should use database number. */ Loading Loading @@ -813,9 +772,6 @@ public class EmergencyNumberTrackerTest extends TelephonyTest { */ @Test public void testOtaEmergencyNumberDatabase() { // Set up the Hal version as 1.4 to apply emergency number database doReturn(new HalVersion(1, 4)).when(mPhone).getHalVersion(HAL_SERVICE_VOICE); sendEmergencyNumberPrefix(mEmergencyNumberTrackerMock); mEmergencyNumberTrackerMock.updateEmergencyCountryIsoAllPhones(""); processAllMessages(); Loading