Merge "Use "Add to contacts" as header for unknown numbers."
diff --git a/src/com/android/contacts/CallDetailActivity.java b/src/com/android/contacts/CallDetailActivity.java
index 0fadbfb..5479e86 100644
--- a/src/com/android/contacts/CallDetailActivity.java
+++ b/src/com/android/contacts/CallDetailActivity.java
@@ -394,7 +394,7 @@
                 final Uri photoUri = firstDetails.photoUri;
 
                 // Set the details header, based on the first phone call.
-                mPhoneCallDetailsHelper.setPhoneCallName(mHeaderTextView, firstDetails);
+                mPhoneCallDetailsHelper.setCallDetailsHeader(mHeaderTextView, firstDetails);
 
                 // Cache the details about the phone number.
                 final Uri numberCallUri = mPhoneNumberHelper.getCallUri(mNumber);
diff --git a/src/com/android/contacts/PhoneCallDetailsHelper.java b/src/com/android/contacts/PhoneCallDetailsHelper.java
index e79bdce..2d75c26 100644
--- a/src/com/android/contacts/PhoneCallDetailsHelper.java
+++ b/src/com/android/contacts/PhoneCallDetailsHelper.java
@@ -129,11 +129,12 @@
         views.numberView.setText(numberText);
     }
 
-    /** Sets the name in the text view for the given phone call. */
-    public void setPhoneCallName(TextView nameView, PhoneCallDetails details) {
+    /** Sets the text of the header view for the details page of a phone call. */
+    public void setCallDetailsHeader(TextView nameView, PhoneCallDetails details) {
         final CharSequence nameText;
         final CharSequence displayNumber =
-            mPhoneNumberHelper.getDisplayNumber(details.number, details.formattedNumber);
+                mPhoneNumberHelper.getDisplayNumber(details.number,
+                        mResources.getString(R.string.recentCalls_addToContact));
         if (TextUtils.isEmpty(details.name)) {
             nameText = displayNumber;
         } else {
diff --git a/tests/src/com/android/contacts/PhoneCallDetailsHelperTest.java b/tests/src/com/android/contacts/PhoneCallDetailsHelperTest.java
index 7830a01..2dfd95a 100644
--- a/tests/src/com/android/contacts/PhoneCallDetailsHelperTest.java
+++ b/tests/src/com/android/contacts/PhoneCallDetailsHelperTest.java
@@ -201,14 +201,38 @@
         setPhoneCallDetailsWithNumber(TEST_VOICEMAIL_NUMBER, "");
     }
 
-    public void testSetPhoneName_NumberOnly() {
-        setPhoneCallNameWithNumberOnly();
+    public void testSetCallDetailsHeader_NumberOnly() {
+        setCallDetailsHeaderWithNumberOnly(TEST_NUMBER);
         assertEquals(View.VISIBLE, mNameView.getVisibility());
-        assertEquals(TEST_FORMATTED_NUMBER, mNameView.getText().toString());
+        assertEquals("Add to contacts", mNameView.getText().toString());
     }
 
-    public void testSetPhoneName() {
-        setPhoneCallName("John Doe");
+    public void testSetCallDetailsHeader_UnknownNumber() {
+        setCallDetailsHeaderWithNumberOnly(CallerInfo.UNKNOWN_NUMBER);
+        assertEquals(View.VISIBLE, mNameView.getVisibility());
+        assertEquals("Unknown", mNameView.getText().toString());
+    }
+
+    public void testSetCallDetailsHeader_PrivateNumber() {
+        setCallDetailsHeaderWithNumberOnly(CallerInfo.PRIVATE_NUMBER);
+        assertEquals(View.VISIBLE, mNameView.getVisibility());
+        assertEquals("Private number", mNameView.getText().toString());
+    }
+
+    public void testSetCallDetailsHeader_PayphoneNumber() {
+        setCallDetailsHeaderWithNumberOnly(CallerInfo.PAYPHONE_NUMBER);
+        assertEquals(View.VISIBLE, mNameView.getVisibility());
+        assertEquals("Pay phone", mNameView.getText().toString());
+    }
+
+    public void testSetCallDetailsHeader_VoicemailNumber() {
+        setCallDetailsHeaderWithNumberOnly(TEST_VOICEMAIL_NUMBER);
+        assertEquals(View.VISIBLE, mNameView.getVisibility());
+        assertEquals("Voicemail", mNameView.getText().toString());
+    }
+
+    public void testSetCallDetailsHeader() {
+        setCallDetailsHeader("John Doe");
         assertEquals(View.VISIBLE, mNameView.getVisibility());
         assertEquals("John Doe", mNameView.getText().toString());
     }
@@ -288,14 +312,14 @@
                 false);
     }
 
-    private void setPhoneCallNameWithNumberOnly() {
-        mHelper.setPhoneCallName(mNameView,
-                new PhoneCallDetails(TEST_NUMBER, TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO,
+    private void setCallDetailsHeaderWithNumberOnly(String number) {
+        mHelper.setCallDetailsHeader(mNameView,
+                new PhoneCallDetails(number, TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO,
                         TEST_GEOCODE, new int[]{ Calls.INCOMING_TYPE }, TEST_DATE, TEST_DURATION));
     }
 
-    private void setPhoneCallName(String name) {
-        mHelper.setPhoneCallName(mNameView,
+    private void setCallDetailsHeader(String name) {
+        mHelper.setCallDetailsHeader(mNameView,
                 new PhoneCallDetails(TEST_NUMBER, TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO,
                         TEST_GEOCODE, new int[]{ Calls.INCOMING_TYPE }, TEST_DATE, TEST_DURATION,
                         name, 0, "", null, null));