summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/phonenumberproto
diff options
context:
space:
mode:
authorzachh <zachh@google.com>2017-11-29 15:55:47 -0800
committerCopybara-Service <copybara-piper@google.com>2017-11-29 17:45:11 -0800
commit9ee59d50955fc4664a3d312c39340b06a738bfd6 (patch)
tree2bc1f862370127c88adcf0e9c630df2dc53f31f4 /java/com/android/dialer/phonenumberproto
parente3b4382b468bc07b07cdc57aee8a6757dda1b3c1 (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.java17
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();
+ }
}