summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jayachandran Chinnakkannu <jayachandranc@google.com> 2019-11-25 21:40:14 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2019-11-25 21:40:14 +0000
commit6052ca74cd066054b9b5f1a7891585cb1564f4b6 (patch)
tree5963199641618790fbedd7817348aac821b479f2
parentd9bcf564489a33c292b3043e8bd9d9e50a0a1135 (diff)
parent2863aa48febe1ad6d0d64e63308a8b22586b637a (diff)
Merge "SmsNumberUtils: Remove usage of the following hidden APIs"
-rw-r--r--telephony/common/com/android/internal/telephony/SmsNumberUtils.java34
1 files changed, 30 insertions, 4 deletions
diff --git a/telephony/common/com/android/internal/telephony/SmsNumberUtils.java b/telephony/common/com/android/internal/telephony/SmsNumberUtils.java
index 0d33af639113..367aad1837ce 100644
--- a/telephony/common/com/android/internal/telephony/SmsNumberUtils.java
+++ b/telephony/common/com/android/internal/telephony/SmsNumberUtils.java
@@ -359,15 +359,41 @@ public class SmsNumberUtils {
return NP_NONE;
}
+ /**
+ * This function checks if the passed in string conforms to the NANP format
+ * i.e. NXX-NXX-XXXX, N is any digit 2-9 and X is any digit 0-9
+ */
private static boolean isNANP(String number) {
+ boolean retVal = false;
+
if (number.length() == NANP_MEDIUM_LENGTH
|| (number.length() == NANP_LONG_LENGTH && number.startsWith(NANP_NDD))) {
+
if (number.length() == NANP_LONG_LENGTH) {
number = number.substring(1);
}
- return (PhoneNumberUtils.isNanp(number));
+
+ if (isTwoToNine(number.charAt(0)) &&
+ isTwoToNine(number.charAt(3))) {
+ retVal = true;
+ for (int i=1; i<NANP_MEDIUM_LENGTH; i++ ) {
+ char c=number.charAt(i);
+ if (!PhoneNumberUtils.isISODigit(c)) {
+ retVal = false;
+ break;
+ }
+ }
+ }
+ }
+ return retVal;
+ }
+
+ private static boolean isTwoToNine (char c) {
+ if (c >= '2' && c <= '9') {
+ return true;
+ } else {
+ return false;
}
- return false;
}
/**
@@ -573,9 +599,9 @@ public class SmsNumberUtils {
int networkType = -1;
int phoneType = telephonyManager.getPhoneType();
- if (phoneType == PhoneConstants.PHONE_TYPE_GSM) {
+ if (phoneType == TelephonyManager.PHONE_TYPE_GSM) {
networkType = GSM_UMTS_NETWORK;
- } else if (phoneType == PhoneConstants.PHONE_TYPE_CDMA) {
+ } else if (phoneType == TelephonyManager.PHONE_TYPE_CDMA) {
if (isInternationalRoaming(telephonyManager)) {
networkType = CDMA_ROAMING_NETWORK;
} else {