summaryrefslogtreecommitdiffstats
path: root/chips/src/com/android/ex/chips/RecipientEditTextView.java
diff options
context:
space:
mode:
Diffstat (limited to 'chips/src/com/android/ex/chips/RecipientEditTextView.java')
-rw-r--r--chips/src/com/android/ex/chips/RecipientEditTextView.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/chips/src/com/android/ex/chips/RecipientEditTextView.java b/chips/src/com/android/ex/chips/RecipientEditTextView.java
index 011b1e9..5327389 100644
--- a/chips/src/com/android/ex/chips/RecipientEditTextView.java
+++ b/chips/src/com/android/ex/chips/RecipientEditTextView.java
@@ -88,6 +88,7 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
import java.util.regex.Matcher;
+import java.util.regex.Pattern;
/**
* RecipientEditTextView is an auto complete text view for use with applications
@@ -194,6 +195,15 @@ public class RecipientEditTextView extends MultiAutoCompleteTextView implements
private boolean mDragEnabled = false;
+ // This pattern comes from android.util.Patterns. It has been tweaked to handle a "1" before
+ // parens, so numbers such as "1 (425) 222-2342" match.
+ private static final Pattern PHONE_PATTERN
+ = Pattern.compile( // sdd = space, dot, or dash
+ "(\\+[0-9]+[\\- \\.]*)?" // +<digits><sdd>*
+ + "(1?[ ]*\\([0-9]+\\)[\\- \\.]*)?" // 1(<digits>)<sdd>*
+ + "([0-9][0-9\\- \\.][0-9\\- \\.]+[0-9])"); // <digit><digit|sdd>+<digit>
+
+
private final Runnable mAddTextWatcher = new Runnable() {
@Override
public void run() {
@@ -938,7 +948,7 @@ public class RecipientEditTextView extends MultiAutoCompleteTextView implements
return false;
}
- Matcher match = Patterns.PHONE.matcher(number);
+ Matcher match = PHONE_PATTERN.matcher(number);
return match.matches();
}