summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java')
-rw-r--r--java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java b/java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java
index a5b9520fd..d8079efe3 100644
--- a/java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java
+++ b/java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java
@@ -29,6 +29,7 @@ import com.google.i18n.phonenumbers.PhoneNumberUtil;
import com.google.i18n.phonenumbers.PhoneNumberUtil.MatchType;
import com.google.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberFormat;
import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
+import com.google.i18n.phonenumbers.ShortNumberInfo;
/**
* Wrapper for selected methods in {@link PhoneNumberUtil} which uses the {@link DialerPhoneNumber}
@@ -38,11 +39,13 @@ import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
*/
public class DialerPhoneNumberUtil {
private final PhoneNumberUtil phoneNumberUtil;
+ private final ShortNumberInfo shortNumberInfo;
@WorkerThread
- public DialerPhoneNumberUtil(@NonNull PhoneNumberUtil phoneNumberUtil) {
+ public DialerPhoneNumberUtil() {
Assert.isWorkerThread();
- this.phoneNumberUtil = Assert.isNotNull(phoneNumberUtil);
+ this.phoneNumberUtil = PhoneNumberUtil.getInstance();
+ this.shortNumberInfo = ShortNumberInfo.getInstance();
}
/**
@@ -159,6 +162,13 @@ public class DialerPhoneNumberUtil {
return firstNumberIn.getNormalizedNumber().equals(secondNumberIn.getNormalizedNumber());
}
+ // Both numbers are parseable, first check for short codes to so that a number like "5555"
+ // doesn't match "55555" (due to those being a SHORT_NSN_MATCH below).
+ if (shortNumberInfo.isPossibleShortNumber(phoneNumber1)
+ || shortNumberInfo.isPossibleShortNumber(phoneNumber2)) {
+ return firstNumberIn.getNormalizedNumber().equals(secondNumberIn.getNormalizedNumber());
+ }
+
// Both numbers are parseable, use more sophisticated libphonenumber matching.
MatchType matchType = phoneNumberUtil.isNumberMatch(phoneNumber1, phoneNumber2);