diff options
author | zachh <zachh@google.com> | 2017-12-14 00:48:12 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2017-12-14 00:52:09 -0800 |
commit | 888733af75fd738dd1b503ab8a77c5eb3212d575 (patch) | |
tree | 6d5b92cbf61ac95238f68b170d26fc2045e518a8 /java/com/android/dialer/phonenumberproto | |
parent | 38ed3cc6182411c0a09b51efc8f685cb1388c776 (diff) |
Support normalization of numbers in Cp2PhoneLookup.
Bug: 34672501
Test: unit
PiperOrigin-RevId: 179012381
Change-Id: Icb78c73e243702a71f1a48692151b696ae2ac95f
Diffstat (limited to 'java/com/android/dialer/phonenumberproto')
-rw-r--r-- | java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java b/java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java index ac011d43a..d23b5a19d 100644 --- a/java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java +++ b/java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java @@ -25,6 +25,7 @@ import com.android.dialer.DialerPhoneNumber; import com.android.dialer.DialerPhoneNumber.RawInput; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; +import com.google.common.base.Optional; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.ListeningExecutorService; import com.google.i18n.phonenumbers.NumberParseException; @@ -127,17 +128,30 @@ public class DialerPhoneNumberUtil { } /** - * Formats the provided number to e164 format. May return raw number if number is unparseable. + * Formats the provided number to e164 format or return raw number if number is unparseable. * * @see PhoneNumberUtil#format(PhoneNumber, PhoneNumberFormat) */ @WorkerThread - public String formatToE164(@NonNull DialerPhoneNumber number) { + public String normalizeNumber(DialerPhoneNumber number) { + Assert.isWorkerThread(); + return formatToE164(number).or(number.getRawInput().getNumber()); + } + + /** + * Formats the provided number to e164 format if possible. + * + * @see PhoneNumberUtil#format(PhoneNumber, PhoneNumberFormat) + */ + @WorkerThread + public Optional<String> formatToE164(DialerPhoneNumber number) { Assert.isWorkerThread(); if (number.hasDialerInternalPhoneNumber()) { - return phoneNumberUtil.format( - Converter.protoToPojo(number.getDialerInternalPhoneNumber()), PhoneNumberFormat.E164); + return Optional.of( + phoneNumberUtil.format( + Converter.protoToPojo(number.getDialerInternalPhoneNumber()), + PhoneNumberFormat.E164)); } - return number.getRawInput().getNumber(); + return Optional.absent(); } } |