Cherry-pick: Area code gets eaten in Chips
Bug 8436028
New code for tokenizing an address stripped the area code from a manually
entered phone number. When chips is in "phone number" mode, call a new
function (essentially the old function before the change) to create
a fake entry directly from the phone number.
Cherry-pick of: I2d62ff24aacd8eadb9086840bd4d003cf39db177
Change-Id: I08d98c2e358fc1b8a70bacf358497a511fd71069
diff --git a/chips/src/com/android/ex/chips/RecipientEditTextView.java b/chips/src/com/android/ex/chips/RecipientEditTextView.java
index 4347202..a2e037f 100644
--- a/chips/src/com/android/ex/chips/RecipientEditTextView.java
+++ b/chips/src/com/android/ex/chips/RecipientEditTextView.java
@@ -972,7 +972,7 @@
return null;
}
if (isPhoneQuery() && isPhoneNumber(token)) {
- return RecipientEntry.constructFakeEntry(token, true);
+ return RecipientEntry.constructFakePhoneEntry(token, true);
}
Rfc822Token[] tokens = Rfc822Tokenizer.tokenize(token);
String display = null;
diff --git a/chips/src/com/android/ex/chips/RecipientEntry.java b/chips/src/com/android/ex/chips/RecipientEntry.java
index f7155b0..44bc767 100644
--- a/chips/src/com/android/ex/chips/RecipientEntry.java
+++ b/chips/src/com/android/ex/chips/RecipientEntry.java
@@ -118,6 +118,16 @@
}
/**
+ * Construct a RecipientEntry from just a phone number.
+ */
+ public static RecipientEntry constructFakePhoneEntry(final String phoneNumber,
+ final boolean isValid) {
+ return new RecipientEntry(ENTRY_TYPE_PERSON, phoneNumber, phoneNumber,
+ INVALID_DESTINATION_TYPE, null,
+ INVALID_CONTACT, INVALID_CONTACT, null, true, isValid);
+ }
+
+ /**
* @return the display name for the entry. If the display name source is larger than
* {@link DisplayNameSources#PHONE} we use the contact's display name, but if not,
* i.e. the display name came from an email address or a phone number, we don't use it