Merge "Use platform API to get preferred emergency numbers" into sc-dev
This commit is contained in:
@@ -165,9 +165,8 @@ public class EmergencyNumberUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private List<EmergencyNumber> getPromotedEmergencyNumbers(int categories) {
|
private List<EmergencyNumber> getPromotedEmergencyNumbers(int categories) {
|
||||||
// TODO(b/171542607): Use platform API when its bug is fixed.
|
Map<Integer, List<EmergencyNumber>> allLists = mTelephonyManager.getEmergencyNumberList(
|
||||||
Map<Integer, List<EmergencyNumber>> allLists = filterEmergencyNumbersByCategories(
|
categories);
|
||||||
mTelephonyManager.getEmergencyNumberList(), categories);
|
|
||||||
if (allLists == null || allLists.isEmpty()) {
|
if (allLists == null || allLists.isEmpty()) {
|
||||||
Log.w(TAG, "Unable to retrieve emergency number lists!");
|
Log.w(TAG, "Unable to retrieve emergency number lists!");
|
||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
@@ -212,28 +211,4 @@ public class EmergencyNumberUtils {
|
|||||||
}
|
}
|
||||||
return promotedEmergencyNumberLists.get(SubscriptionManager.getDefaultSubscriptionId());
|
return promotedEmergencyNumberLists.get(SubscriptionManager.getDefaultSubscriptionId());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Filter emergency numbers with categories.
|
|
||||||
*/
|
|
||||||
private Map<Integer, List<EmergencyNumber>> filterEmergencyNumbersByCategories(
|
|
||||||
Map<Integer, List<EmergencyNumber>> emergencyNumberList, int categories) {
|
|
||||||
Map<Integer, List<EmergencyNumber>> filteredMap = new ArrayMap<>();
|
|
||||||
if (emergencyNumberList == null) {
|
|
||||||
return filteredMap;
|
|
||||||
}
|
|
||||||
for (Integer subscriptionId : emergencyNumberList.keySet()) {
|
|
||||||
List<EmergencyNumber> allNumbersForSub = emergencyNumberList.get(
|
|
||||||
subscriptionId);
|
|
||||||
List<EmergencyNumber> numbersForCategoriesPerSub = new ArrayList<>();
|
|
||||||
for (EmergencyNumber number : allNumbersForSub) {
|
|
||||||
if (number.isInEmergencyServiceCategories(categories)) {
|
|
||||||
numbersForCategoriesPerSub.add(number);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
filteredMap.put(
|
|
||||||
subscriptionId, numbersForCategoriesPerSub);
|
|
||||||
}
|
|
||||||
return filteredMap;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import static com.android.settingslib.emergencynumber.EmergencyNumberUtils.EMERG
|
|||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
|
import static org.mockito.ArgumentMatchers.anyInt;
|
||||||
import static org.mockito.ArgumentMatchers.anyString;
|
import static org.mockito.ArgumentMatchers.anyString;
|
||||||
import static org.mockito.ArgumentMatchers.nullable;
|
import static org.mockito.ArgumentMatchers.nullable;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
@@ -126,7 +127,7 @@ public class EmergencyNumberUtilsTest {
|
|||||||
List<EmergencyNumber> numbersForSubId = new ArrayList<>();
|
List<EmergencyNumber> numbersForSubId = new ArrayList<>();
|
||||||
numbersForSubId.add(emergencyNumber);
|
numbersForSubId.add(emergencyNumber);
|
||||||
numbers.put(subId, numbersForSubId);
|
numbers.put(subId, numbersForSubId);
|
||||||
when(mTelephonyManager.getEmergencyNumberList()).thenReturn(numbers);
|
when(mTelephonyManager.getEmergencyNumberList(anyInt())).thenReturn(numbers);
|
||||||
when(emergencyNumber.getNumber()).thenReturn(TELEPHONY_EMERGENCY_NUMBER);
|
when(emergencyNumber.getNumber()).thenReturn(TELEPHONY_EMERGENCY_NUMBER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user