From 6069d02b6fd26c49da9ac0cf8a5b0e7c26c9e568 Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Wed, 7 Apr 2021 21:29:55 +0000 Subject: [PATCH] Use platform API to get preferred emergency numbers Bug: 171542607 Test: manual Change-Id: Ib787d6968b9352a95165661f0553b249d7a8c8d7 --- .../emergencynumber/EmergencyNumberUtils.java | 29 ++----------------- .../EmergencyNumberUtilsTest.java | 3 +- 2 files changed, 4 insertions(+), 28 deletions(-) diff --git a/packages/SettingsLib/EmergencyNumber/src/com/android/settingslib/emergencynumber/EmergencyNumberUtils.java b/packages/SettingsLib/EmergencyNumber/src/com/android/settingslib/emergencynumber/EmergencyNumberUtils.java index b0a9b95492a6f..397b0f979a447 100644 --- a/packages/SettingsLib/EmergencyNumber/src/com/android/settingslib/emergencynumber/EmergencyNumberUtils.java +++ b/packages/SettingsLib/EmergencyNumber/src/com/android/settingslib/emergencynumber/EmergencyNumberUtils.java @@ -165,9 +165,8 @@ public class EmergencyNumberUtils { } private List getPromotedEmergencyNumbers(int categories) { - // TODO(b/171542607): Use platform API when its bug is fixed. - Map> allLists = filterEmergencyNumbersByCategories( - mTelephonyManager.getEmergencyNumberList(), categories); + Map> allLists = mTelephonyManager.getEmergencyNumberList( + categories); if (allLists == null || allLists.isEmpty()) { Log.w(TAG, "Unable to retrieve emergency number lists!"); return new ArrayList<>(); @@ -212,28 +211,4 @@ public class EmergencyNumberUtils { } return promotedEmergencyNumberLists.get(SubscriptionManager.getDefaultSubscriptionId()); } - - /** - * Filter emergency numbers with categories. - */ - private Map> filterEmergencyNumbersByCategories( - Map> emergencyNumberList, int categories) { - Map> filteredMap = new ArrayMap<>(); - if (emergencyNumberList == null) { - return filteredMap; - } - for (Integer subscriptionId : emergencyNumberList.keySet()) { - List allNumbersForSub = emergencyNumberList.get( - subscriptionId); - List numbersForCategoriesPerSub = new ArrayList<>(); - for (EmergencyNumber number : allNumbersForSub) { - if (number.isInEmergencyServiceCategories(categories)) { - numbersForCategoriesPerSub.add(number); - } - } - filteredMap.put( - subscriptionId, numbersForCategoriesPerSub); - } - return filteredMap; - } } diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/emergencynumber/EmergencyNumberUtilsTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/emergencynumber/EmergencyNumberUtilsTest.java index 695b5b6ba0616..40339dedf8fe6 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/emergencynumber/EmergencyNumberUtilsTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/emergencynumber/EmergencyNumberUtilsTest.java @@ -23,6 +23,7 @@ import static com.android.settingslib.emergencynumber.EmergencyNumberUtils.EMERG import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.mock; @@ -126,7 +127,7 @@ public class EmergencyNumberUtilsTest { List numbersForSubId = new ArrayList<>(); numbersForSubId.add(emergencyNumber); numbers.put(subId, numbersForSubId); - when(mTelephonyManager.getEmergencyNumberList()).thenReturn(numbers); + when(mTelephonyManager.getEmergencyNumberList(anyInt())).thenReturn(numbers); when(emergencyNumber.getNumber()).thenReturn(TELEPHONY_EMERGENCY_NUMBER); } }