Loading telephony/java/android/telephony/TelephonyManager.java +34 −15 Original line number Diff line number Diff line Loading @@ -12300,23 +12300,15 @@ public class TelephonyManager { @NonNull public Map<Integer, List<EmergencyNumber>> getEmergencyNumberList( @EmergencyServiceCategories int categories) { Map<Integer, List<EmergencyNumber>> emergencyNumberList = new HashMap<>(); Map<Integer, List<EmergencyNumber>> emergencyNumberListForCategories = new HashMap<>(); try { ITelephony telephony = getITelephony(); if (telephony != null) { emergencyNumberList = telephony.getEmergencyNumberList( mContext.getOpPackageName(), mContext.getAttributionTag()); if (emergencyNumberList != null) { for (Integer subscriptionId : emergencyNumberList.keySet()) { List<EmergencyNumber> numberList = emergencyNumberList.get(subscriptionId); for (EmergencyNumber number : numberList) { if (!number.isInEmergencyServiceCategories(categories)) { numberList.remove(number); } } } } return emergencyNumberList; Map<Integer, List<EmergencyNumber>> emergencyNumberList = telephony.getEmergencyNumberList(mContext.getOpPackageName(), mContext.getAttributionTag()); emergencyNumberListForCategories = filterEmergencyNumbersByCategories(emergencyNumberList, categories); } else { throw new IllegalStateException("telephony service is null."); } Loading @@ -12324,7 +12316,34 @@ public class TelephonyManager { Log.e(TAG, "getEmergencyNumberList with Categories RemoteException", ex); ex.rethrowAsRuntimeException(); } return emergencyNumberList; return emergencyNumberListForCategories; } /** * Filter emergency numbers with categories. * * @hide */ @VisibleForTesting public Map<Integer, List<EmergencyNumber>> filterEmergencyNumbersByCategories( Map<Integer, List<EmergencyNumber>> emergencyNumberList, @EmergencyServiceCategories int categories) { Map<Integer, List<EmergencyNumber>> emergencyNumberListForCategories = new HashMap<>(); if (emergencyNumberList != null) { 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); } } emergencyNumberListForCategories.put( subscriptionId, numbersForCategoriesPerSub); } } return emergencyNumberListForCategories; } /** Loading Loading
telephony/java/android/telephony/TelephonyManager.java +34 −15 Original line number Diff line number Diff line Loading @@ -12300,23 +12300,15 @@ public class TelephonyManager { @NonNull public Map<Integer, List<EmergencyNumber>> getEmergencyNumberList( @EmergencyServiceCategories int categories) { Map<Integer, List<EmergencyNumber>> emergencyNumberList = new HashMap<>(); Map<Integer, List<EmergencyNumber>> emergencyNumberListForCategories = new HashMap<>(); try { ITelephony telephony = getITelephony(); if (telephony != null) { emergencyNumberList = telephony.getEmergencyNumberList( mContext.getOpPackageName(), mContext.getAttributionTag()); if (emergencyNumberList != null) { for (Integer subscriptionId : emergencyNumberList.keySet()) { List<EmergencyNumber> numberList = emergencyNumberList.get(subscriptionId); for (EmergencyNumber number : numberList) { if (!number.isInEmergencyServiceCategories(categories)) { numberList.remove(number); } } } } return emergencyNumberList; Map<Integer, List<EmergencyNumber>> emergencyNumberList = telephony.getEmergencyNumberList(mContext.getOpPackageName(), mContext.getAttributionTag()); emergencyNumberListForCategories = filterEmergencyNumbersByCategories(emergencyNumberList, categories); } else { throw new IllegalStateException("telephony service is null."); } Loading @@ -12324,7 +12316,34 @@ public class TelephonyManager { Log.e(TAG, "getEmergencyNumberList with Categories RemoteException", ex); ex.rethrowAsRuntimeException(); } return emergencyNumberList; return emergencyNumberListForCategories; } /** * Filter emergency numbers with categories. * * @hide */ @VisibleForTesting public Map<Integer, List<EmergencyNumber>> filterEmergencyNumbersByCategories( Map<Integer, List<EmergencyNumber>> emergencyNumberList, @EmergencyServiceCategories int categories) { Map<Integer, List<EmergencyNumber>> emergencyNumberListForCategories = new HashMap<>(); if (emergencyNumberList != null) { 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); } } emergencyNumberListForCategories.put( subscriptionId, numbersForCategoriesPerSub); } } return emergencyNumberListForCategories; } /** Loading