diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2019-05-07 21:42:53 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2019-05-07 21:42:53 +0000 |
commit | e983383c4d12f2f499fad9059c6050381e25b07f (patch) | |
tree | dd2eb1d933e9335d19dbb7f0d6d184aa4aa65dd5 | |
parent | 920797b2c09e6bd9283f7ab1d9dedb05730b737f (diff) | |
parent | 129ad7feb8f0cb179e5befa5fb7245b9fc07c99d (diff) | |
download | Mms-pie-platform-release.tar.gz |
Snap for 5450365 from 129ad7feb8f0cb179e5befa5fb7245b9fc07c99d to pi-platform-releasepie-platform-release
Change-Id: I8e0b5b9c02d4200436c5125bb46b511962f9f2b3
-rw-r--r-- | src/com/android/mms/service/MmsHttpClient.java | 15 | ||||
-rw-r--r-- | src/com/android/mms/service/PhoneUtils.java | 10 |
2 files changed, 17 insertions, 8 deletions
diff --git a/src/com/android/mms/service/MmsHttpClient.java b/src/com/android/mms/service/MmsHttpClient.java index 40e03cd..fc0d67e 100644 --- a/src/com/android/mms/service/MmsHttpClient.java +++ b/src/com/android/mms/service/MmsHttpClient.java @@ -456,7 +456,7 @@ public class MmsHttpClient { * Example: "LINE1" returns the phone number, etc. * * @param macro The macro name - * @param mmsConfig The MMS config which contains NAI suffix. + * @param mmsConfig The MMS config which contains NAI suffix and SIM country ISO to override. * @param subId The subscription ID used to get line number, etc. * @return The value of the defined macro */ @@ -465,7 +465,7 @@ public class MmsHttpClient { if (MACRO_LINE1.equals(macro)) { return getLine1(context, subId); } else if (MACRO_LINE1NOCOUNTRYCODE.equals(macro)) { - return getLine1NoCountryCode(context, subId); + return getLine1NoCountryCode(context, mmsConfig, subId); } else if (MACRO_NAI.equals(macro)) { return getNai(context, mmsConfig, subId); } @@ -485,13 +485,16 @@ public class MmsHttpClient { /** * Returns the phone number (without country code) for the given subscription ID. */ - private static String getLine1NoCountryCode(Context context, int subId) { + private static String getLine1NoCountryCode(Context context, Bundle mmsConfig, int subId) { final TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService( Context.TELEPHONY_SERVICE); + String countryIsoOverride = + mmsConfig.getString(SmsManager.MMS_CONFIG_SIM_COUNTRY_ISO_OVERRIDE); return PhoneUtils.getNationalNumber( - telephonyManager, - subId, - telephonyManager.getLine1Number(subId)); + telephonyManager, + subId, + telephonyManager.getLine1Number(subId), + countryIsoOverride); } /** diff --git a/src/com/android/mms/service/PhoneUtils.java b/src/com/android/mms/service/PhoneUtils.java index 54b7ba9..a736ee2 100644 --- a/src/com/android/mms/service/PhoneUtils.java +++ b/src/com/android/mms/service/PhoneUtils.java @@ -37,11 +37,17 @@ public class PhoneUtils { * @param telephonyManager * @param subId The SIM ID associated with this number * @param phoneText The input phone number text + * @param countryIsoOverride String to override sim country iso. * @return The formatted number or the original phone number if failed to parse */ public static String getNationalNumber(TelephonyManager telephonyManager, int subId, - String phoneText) { - final String country = getSimOrDefaultLocaleCountry(telephonyManager, subId); + String phoneText, String countryIsoOverride) { + String country = getSimOrDefaultLocaleCountry(telephonyManager, subId); + + if (!TextUtils.isEmpty(countryIsoOverride)) { + country = countryIsoOverride.toUpperCase(); + } + final PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance(); final Phonenumber.PhoneNumber parsed = getParsedNumber(phoneNumberUtil, phoneText, country); if (parsed == null) { |