Loading src/java/com/android/internal/telephony/SmsNumberUtils.java +11 −20 Original line number Diff line number Diff line Loading @@ -21,9 +21,11 @@ import java.util.HashMap; import android.content.Context; import android.os.Build; import android.os.PersistableBundle; import android.text.TextUtils; import android.database.Cursor; import android.database.SQLException; import android.telephony.CarrierConfigManager; import android.telephony.PhoneNumberUtils; import android.telephony.TelephonyManager; import android.telephony.Rlog; Loading Loading @@ -597,28 +599,17 @@ public class SmsNumberUtils { } private static boolean needToConvert(Phone phone) { boolean bNeedToConvert = false; String[] listArray = phone.getContext().getResources() .getStringArray(com.android.internal.R.array .config_sms_convert_destination_number_support); if (listArray != null && listArray.length > 0) { for (int i=0; i<listArray.length; i++) { if (!TextUtils.isEmpty(listArray[i])) { String[] needToConvertArray = listArray[i].split(";"); if (needToConvertArray != null && needToConvertArray.length > 0) { if (needToConvertArray.length == 1) { bNeedToConvert = "true".equalsIgnoreCase(needToConvertArray[0]); } else if (needToConvertArray.length == 2 && !TextUtils.isEmpty(needToConvertArray[1]) && compareGid1(phone, needToConvertArray[1])) { bNeedToConvert = "true".equalsIgnoreCase(needToConvertArray[0]); break; } } CarrierConfigManager configManager = (CarrierConfigManager) phone.getContext().getSystemService(Context.CARRIER_CONFIG_SERVICE); if (configManager != null) { PersistableBundle bundle = configManager.getConfig(); if (bundle != null) { return bundle.getBoolean( CarrierConfigManager.KEY_SMS_REQUIRES_DESTINATION_NUMBER_CONVERSION_BOOL); } } } return bNeedToConvert; // by default this value is false return false; } private static boolean compareGid1(Phone phone, String serviceGid1) { Loading tests/telephonytests/src/com/android/internal/telephony/SmsNumberUtilsTest.java +5 −4 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.internal.telephony; import android.database.Cursor; import android.database.MatrixCursor; import android.net.Uri; import android.telephony.CarrierConfigManager; import android.telephony.TelephonyManager; import android.test.mock.MockContentProvider; import android.test.mock.MockContentResolver; Loading Loading @@ -122,9 +123,9 @@ public class SmsNumberUtilsTest extends TelephonyTest { ((MockContentResolver) mContextFixture.getTestDouble().getContentResolver()) .addProvider(HbpcdLookup.MccIdd.CONTENT_URI.getAuthority(), mHbpcdContentProvider); mContextFixture.putStringArrayResource( com.android.internal.R.array.config_sms_convert_destination_number_support, new String[]{"true"}); mContextFixture.getCarrierConfigBundle(). putBoolean(CarrierConfigManager.KEY_SMS_REQUIRES_DESTINATION_NUMBER_CONVERSION_BOOL, true); logd("SmsNumberUtilsTest -Setup!"); } Loading Loading
src/java/com/android/internal/telephony/SmsNumberUtils.java +11 −20 Original line number Diff line number Diff line Loading @@ -21,9 +21,11 @@ import java.util.HashMap; import android.content.Context; import android.os.Build; import android.os.PersistableBundle; import android.text.TextUtils; import android.database.Cursor; import android.database.SQLException; import android.telephony.CarrierConfigManager; import android.telephony.PhoneNumberUtils; import android.telephony.TelephonyManager; import android.telephony.Rlog; Loading Loading @@ -597,28 +599,17 @@ public class SmsNumberUtils { } private static boolean needToConvert(Phone phone) { boolean bNeedToConvert = false; String[] listArray = phone.getContext().getResources() .getStringArray(com.android.internal.R.array .config_sms_convert_destination_number_support); if (listArray != null && listArray.length > 0) { for (int i=0; i<listArray.length; i++) { if (!TextUtils.isEmpty(listArray[i])) { String[] needToConvertArray = listArray[i].split(";"); if (needToConvertArray != null && needToConvertArray.length > 0) { if (needToConvertArray.length == 1) { bNeedToConvert = "true".equalsIgnoreCase(needToConvertArray[0]); } else if (needToConvertArray.length == 2 && !TextUtils.isEmpty(needToConvertArray[1]) && compareGid1(phone, needToConvertArray[1])) { bNeedToConvert = "true".equalsIgnoreCase(needToConvertArray[0]); break; } } CarrierConfigManager configManager = (CarrierConfigManager) phone.getContext().getSystemService(Context.CARRIER_CONFIG_SERVICE); if (configManager != null) { PersistableBundle bundle = configManager.getConfig(); if (bundle != null) { return bundle.getBoolean( CarrierConfigManager.KEY_SMS_REQUIRES_DESTINATION_NUMBER_CONVERSION_BOOL); } } } return bNeedToConvert; // by default this value is false return false; } private static boolean compareGid1(Phone phone, String serviceGid1) { Loading
tests/telephonytests/src/com/android/internal/telephony/SmsNumberUtilsTest.java +5 −4 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.internal.telephony; import android.database.Cursor; import android.database.MatrixCursor; import android.net.Uri; import android.telephony.CarrierConfigManager; import android.telephony.TelephonyManager; import android.test.mock.MockContentProvider; import android.test.mock.MockContentResolver; Loading Loading @@ -122,9 +123,9 @@ public class SmsNumberUtilsTest extends TelephonyTest { ((MockContentResolver) mContextFixture.getTestDouble().getContentResolver()) .addProvider(HbpcdLookup.MccIdd.CONTENT_URI.getAuthority(), mHbpcdContentProvider); mContextFixture.putStringArrayResource( com.android.internal.R.array.config_sms_convert_destination_number_support, new String[]{"true"}); mContextFixture.getCarrierConfigBundle(). putBoolean(CarrierConfigManager.KEY_SMS_REQUIRES_DESTINATION_NUMBER_CONVERSION_BOOL, true); logd("SmsNumberUtilsTest -Setup!"); } Loading