Merge "Fix for CallDetailsActivity always showing unknown numbers" into klp-dev
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ad16f03..958dbfb 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -620,4 +620,11 @@
 
     <!-- Shortcut item used to add a number directly from search -->
     <string name="search_shortcut_add_to_contacts">Add to contacts</string>
+
+    <!-- Number of missed calls shown on call card [CHAR LIMIT=40] -->
+    <string name="num_missed_calls"><xliff:g id="number">%s</xliff:g> new missed calls</string>
+
+    <!-- Shows when there are no favorites. -->
+    <string name="no_favorites">Favorites &amp; contacts you call often will show here. So, start calling.</string>
+
 </resources>
diff --git a/src/com/android/dialer/calllog/CallLogAdapter.java b/src/com/android/dialer/calllog/CallLogAdapter.java
index 00f1abc..37dbdf3 100644
--- a/src/com/android/dialer/calllog/CallLogAdapter.java
+++ b/src/com/android/dialer/calllog/CallLogAdapter.java
@@ -336,8 +336,7 @@
      * up the contact information (if it has not been already started). Otherwise, it will be
      * started with a delay. See {@link #START_PROCESSING_REQUESTS_DELAY_MILLIS}.
      */
-    @VisibleForTesting
-    void enqueueRequest(String number, String countryIso, ContactInfo callLogInfo,
+    protected void enqueueRequest(String number, String countryIso, ContactInfo callLogInfo,
             boolean immediate) {
         ContactInfoRequest request = new ContactInfoRequest(number, countryIso, callLogInfo);
         synchronized (mRequests) {
diff --git a/src/com/android/dialer/list/DialerPhoneNumberListAdapter.java b/src/com/android/dialer/list/DialerPhoneNumberListAdapter.java
index e911710..4f3a4da 100644
--- a/src/com/android/dialer/list/DialerPhoneNumberListAdapter.java
+++ b/src/com/android/dialer/list/DialerPhoneNumberListAdapter.java
@@ -3,7 +3,6 @@
 import android.content.Context;
 import android.content.res.Resources;
 import android.telephony.PhoneNumberUtils;
-import android.text.TextUtils;
 import android.view.View;
 import android.view.ViewGroup;
 
@@ -29,9 +28,8 @@
     public final static int SHORTCUT_INVALID = -1;
     public final static int SHORTCUT_DIRECT_CALL = 0;
     public final static int SHORTCUT_ADD_NUMBER_TO_CONTACTS = 1;
-    public final static int SHORTCUT_ADD_NEW_NAMED_CONTACT = 2;
 
-    public final static int SHORTCUT_COUNT = 3;
+    public final static int SHORTCUT_COUNT = 2;
 
     private final boolean[] mShortcutEnabled = new boolean[SHORTCUT_COUNT];
 
@@ -147,10 +145,6 @@
                 text = resources.getString(R.string.search_shortcut_add_to_contacts);
                 drawableId = R.drawable.ic_add_person_dk;
                 break;
-            case SHORTCUT_ADD_NEW_NAMED_CONTACT:
-                text = resources.getString(R.string.search_shortcut_add_to_contacts);
-                drawableId = R.drawable.ic_add_person_dk;
-                break;
             default:
                 throw new IllegalArgumentException("Invalid shortcut type");
         }
@@ -169,20 +163,8 @@
 
     @Override
     public void setQueryString(String queryString) {
-        boolean containsNonDialableCharacters = false;
-        for (int i = 0; i < queryString.length(); i++) {
-            if (!PhoneNumberUtils.isDialable(queryString.charAt(i))) {
-                containsNonDialableCharacters = true;
-                break;
-            }
-        }
-
-        if (containsNonDialableCharacters) {
-            mFormattedQueryString = null;
-        } else {
-            mFormattedQueryString = PhoneNumberUtils.formatNumber(queryString, mCountryIso);
-        }
-
+        mFormattedQueryString = PhoneNumberUtils.formatNumber(
+                PhoneNumberUtils.convertAndStrip(queryString), mCountryIso);
         super.setQueryString(queryString);
     }
 }
diff --git a/src/com/android/dialer/list/RegularSearchListAdapter.java b/src/com/android/dialer/list/RegularSearchListAdapter.java
index 5877912..05af3c7 100644
--- a/src/com/android/dialer/list/RegularSearchListAdapter.java
+++ b/src/com/android/dialer/list/RegularSearchListAdapter.java
@@ -67,7 +67,6 @@
         // a dialable number, then clicking add to contact should add it as a number.
         // Otherwise, it should add it to a new contact as a name.
         setShortcutEnabled(SHORTCUT_ADD_NUMBER_TO_CONTACTS, showNumberShortcuts);
-        setShortcutEnabled(SHORTCUT_ADD_NEW_NAMED_CONTACT, !showNumberShortcuts);
         super.setQueryString(queryString);
     }
 }
diff --git a/src/com/android/dialer/list/SearchFragment.java b/src/com/android/dialer/list/SearchFragment.java
index 0302d97..006729b 100644
--- a/src/com/android/dialer/list/SearchFragment.java
+++ b/src/com/android/dialer/list/SearchFragment.java
@@ -106,10 +106,6 @@
             final String number = adapter.getFormattedQueryString();
             final Intent intent = DialtactsActivity.getAddNumberToContactIntent(number);
             startActivityWithErrorToast(intent);
-        } else if (shortcutType == DialerPhoneNumberListAdapter.SHORTCUT_ADD_NEW_NAMED_CONTACT) {
-            final String name = adapter.getQueryString();
-            final Intent intent = DialtactsActivity.getInsertContactWithNameIntent(name);
-            startActivityWithErrorToast(intent);
         }
     }
 
diff --git a/src/com/android/dialer/list/SmartDialSearchFragment.java b/src/com/android/dialer/list/SmartDialSearchFragment.java
index 4248c85..0efe918 100644
--- a/src/com/android/dialer/list/SmartDialSearchFragment.java
+++ b/src/com/android/dialer/list/SmartDialSearchFragment.java
@@ -41,8 +41,6 @@
         // Disable the direct call shortcut for the smart dial fragment, since the call button
         // will already be showing anyway.
         adapter.setShortcutEnabled(SmartDialNumberListAdapter.SHORTCUT_DIRECT_CALL, false);
-        adapter.setShortcutEnabled(SmartDialNumberListAdapter.SHORTCUT_ADD_NEW_NAMED_CONTACT,
-                false);
         return adapter;
     }
 
diff --git a/tests/src/com/android/dialer/calllog/CallLogAdapterTest.java b/tests/src/com/android/dialer/calllog/CallLogAdapterTest.java
index ce862de..55e4224 100644
--- a/tests/src/com/android/dialer/calllog/CallLogAdapterTest.java
+++ b/tests/src/com/android/dialer/calllog/CallLogAdapterTest.java
@@ -216,7 +216,7 @@
         }
 
         @Override
-        void enqueueRequest(String number, String countryIso, ContactInfo callLogInfo,
+        protected void enqueueRequest(String number, String countryIso, ContactInfo callLogInfo,
                 boolean immediate) {
             requests.add(new Request(number, countryIso, callLogInfo, immediate));
         }