Merge "Support RRO for emergency number conversion map"
This commit is contained in:
@@ -3093,34 +3093,20 @@ public class PhoneNumberUtils
|
|||||||
/*
|
/*
|
||||||
* The config held calling number conversion map, expected to convert to emergency number.
|
* The config held calling number conversion map, expected to convert to emergency number.
|
||||||
*/
|
*/
|
||||||
private static final String[] CONVERT_TO_EMERGENCY_MAP = Resources.getSystem().getStringArray(
|
private static String[] sConvertToEmergencyMap = null;
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts to emergency number based on the conversion map.
|
* Converts to emergency number based on the conversion map.
|
||||||
* The conversion map is declared as config_convert_to_emergency_number_map.
|
* The conversion map is declared as config_convert_to_emergency_number_map.
|
||||||
*
|
*
|
||||||
* Make sure {@link #isConvertToEmergencyNumberEnabled} is true before calling
|
* @param context a context to use for accessing resources
|
||||||
* this function.
|
|
||||||
*
|
|
||||||
* @return The converted emergency number if the number matches conversion map,
|
* @return The converted emergency number if the number matches conversion map,
|
||||||
* otherwise original number.
|
* otherwise original number.
|
||||||
*
|
*
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
public static String convertToEmergencyNumber(String number) {
|
public static String convertToEmergencyNumber(Context context, String number) {
|
||||||
if (TextUtils.isEmpty(number)) {
|
if (context == null || TextUtils.isEmpty(number)) {
|
||||||
return number;
|
return number;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3131,7 +3117,17 @@ public class PhoneNumberUtils
|
|||||||
return number;
|
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);
|
if (DBG) log("convertToEmergencyNumber: " + convertMap);
|
||||||
String[] entry = null;
|
String[] entry = null;
|
||||||
String[] filterNumbers = null;
|
String[] filterNumbers = null;
|
||||||
|
|||||||
Reference in New Issue
Block a user