summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/phonenumberproto
diff options
context:
space:
mode:
authorzachh <zachh@google.com>2017-12-14 00:48:12 -0800
committerCopybara-Service <copybara-piper@google.com>2017-12-14 00:52:09 -0800
commit888733af75fd738dd1b503ab8a77c5eb3212d575 (patch)
tree6d5b92cbf61ac95238f68b170d26fc2045e518a8 /java/com/android/dialer/phonenumberproto
parent38ed3cc6182411c0a09b51efc8f685cb1388c776 (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.java24
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();
}
}