Merge "Setting to toggle smart dialing on/off" into jb-mr2-dev
diff --git a/src/com/android/dialer/dialpad/DialpadFragment.java b/src/com/android/dialer/dialpad/DialpadFragment.java
index ab632e1..ba82774 100644
--- a/src/com/android/dialer/dialpad/DialpadFragment.java
+++ b/src/com/android/dialer/dialpad/DialpadFragment.java
@@ -399,7 +399,9 @@
                     String data = uri.getSchemeSpecificPart();
                     // Remember it is filled via Intent.
                     mDigitsFilledByIntent = true;
-                    setFormattedDigits(data, null);
+                    final String converted = PhoneNumberUtils.convertKeypadLettersToDigits(
+                            PhoneNumberUtils.replaceUnicodeDigits(data));
+                    setFormattedDigits(converted, null);
                     return true;
                 } else {
                     String type = intent.getType();
diff --git a/src/com/android/dialer/dialpad/UnicodeDialerKeyListener.java b/src/com/android/dialer/dialpad/UnicodeDialerKeyListener.java
index c25c7a9..740b456 100644
--- a/src/com/android/dialer/dialpad/UnicodeDialerKeyListener.java
+++ b/src/com/android/dialer/dialpad/UnicodeDialerKeyListener.java
@@ -31,7 +31,8 @@
     @Override
     public CharSequence filter(CharSequence source, int start, int end,
             Spanned dest, int dstart, int dend) {
-        CharSequence converted = PhoneNumberUtils.replaceUnicodeDigits(source.toString());
+        final String converted = PhoneNumberUtils.convertKeypadLettersToDigits(
+                PhoneNumberUtils.replaceUnicodeDigits(source.toString()));
         // PhoneNumberUtils.replaceUnicodeDigits performs a character for character replacement,
         // so we can assume that start and end positions should remain unchanged.
         CharSequence result = super.filter(converted, start, end, dest, dstart, dend);