Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8187781e authored by Brad Ebinger's avatar Brad Ebinger Committed by android-build-merger
Browse files

Merge "Support RRO for emergency number conversion map" am: 671680e5 am: 8498a6cf

am: ddd73513

Change-Id: Id41d327b54fdf95c86a4f6e8d3727b79b98a2d5b
parents 6bc34f3c ddd73513
Loading
Loading
Loading
Loading
+15 −19
Original line number Diff line number Diff line
@@ -3093,34 +3093,20 @@ public class PhoneNumberUtils
    /*
     * The config held calling number conversion map, expected to convert to emergency number.
     */
    private static final String[] CONVERT_TO_EMERGENCY_MAP = Resources.getSystem().getStringArray(
            com.android.internal.R.array.config_convert_to_emergency_number_map);
    /**
     * Check whether conversion to emergency number is enabled
     *
     * @return {@code true} when conversion to emergency numbers is enabled,
     *         {@code false} otherwise
     *
     * @hide
     */
    public static boolean isConvertToEmergencyNumberEnabled() {
        return CONVERT_TO_EMERGENCY_MAP != null && CONVERT_TO_EMERGENCY_MAP.length > 0;
    }
    private static String[] sConvertToEmergencyMap = null;

    /**
     * Converts to emergency number based on the conversion map.
     * The conversion map is declared as config_convert_to_emergency_number_map.
     *
     * Make sure {@link #isConvertToEmergencyNumberEnabled} is true before calling
     * this function.
     *
     * @param context a context to use for accessing resources
     * @return The converted emergency number if the number matches conversion map,
     * otherwise original number.
     *
     * @hide
     */
    public static String convertToEmergencyNumber(String number) {
        if (TextUtils.isEmpty(number)) {
    public static String convertToEmergencyNumber(Context context, String number) {
        if (context == null || TextUtils.isEmpty(number)) {
            return number;
        }

@@ -3131,7 +3117,17 @@ public class PhoneNumberUtils
            return number;
        }

        for (String convertMap : CONVERT_TO_EMERGENCY_MAP) {
        if (sConvertToEmergencyMap == null) {
            sConvertToEmergencyMap = context.getResources().getStringArray(
                    com.android.internal.R.array.config_convert_to_emergency_number_map);
        }

        // The conversion map is not defined (this is default). Skip conversion.
        if (sConvertToEmergencyMap == null || sConvertToEmergencyMap.length == 0 ) {
            return number;
        }

        for (String convertMap : sConvertToEmergencyMap) {
            if (DBG) log("convertToEmergencyNumber: " + convertMap);
            String[] entry = null;
            String[] filterNumbers = null;