diff options
author | zachh <zachh@google.com> | 2017-11-29 15:55:47 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2017-11-29 17:45:11 -0800 |
commit | 9ee59d50955fc4664a3d312c39340b06a738bfd6 (patch) | |
tree | 2bc1f862370127c88adcf0e9c630df2dc53f31f4 /java/com/android/dialer/phonenumberproto | |
parent | e3b4382b468bc07b07cdc57aee8a6757dda1b3c1 (diff) |
Implemented fill for PhoneLookupDataSource.
Rewrote FakePhoneLookup to be more realistic.
Bug: 34672501
Test: unit
PiperOrigin-RevId: 177376374
Change-Id: Ifcd52b16b7046f39d1bfc0e8b8e76452a9daadd2
Diffstat (limited to 'java/com/android/dialer/phonenumberproto')
-rw-r--r-- | java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java b/java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java index a00ee75bf..ac011d43a 100644 --- a/java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java +++ b/java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java @@ -30,6 +30,8 @@ import com.google.common.util.concurrent.ListeningExecutorService; import com.google.i18n.phonenumbers.NumberParseException; 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; /** * Wrapper for selected methods in {@link PhoneNumberUtil} which uses the {@link DialerPhoneNumber} @@ -123,4 +125,19 @@ public class DialerPhoneNumberUtil { Converter.protoToPojo(Assert.isNotNull(firstNumberIn)), Converter.protoToPojo(Assert.isNotNull(secondNumberIn))); } + + /** + * Formats the provided number to e164 format. May return raw number if number is unparseable. + * + * @see PhoneNumberUtil#format(PhoneNumber, PhoneNumberFormat) + */ + @WorkerThread + public String formatToE164(@NonNull DialerPhoneNumber number) { + Assert.isWorkerThread(); + if (number.hasDialerInternalPhoneNumber()) { + return phoneNumberUtil.format( + Converter.protoToPojo(number.getDialerInternalPhoneNumber()), PhoneNumberFormat.E164); + } + return number.getRawInput().getNumber(); + } } |