Use a "dash" for a phone number that we cannot geocode.

Bug: 5073215
Change-Id: I19f79a658cb19abd95e0b6b35f9602c1810faaad
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 4069c49..7bbeea1 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1729,4 +1729,7 @@
     -->
     <string name="description_call_log_unheard_voicemail">Unheard voicemail</string>
 
+    <!-- The string used to represent an unknown location for a phone number in the call log [CHAR LIMIT=3] -->
+    <string name="call_log_empty_gecode">-</string>
+
 </resources>
diff --git a/src/com/android/contacts/PhoneCallDetailsHelper.java b/src/com/android/contacts/PhoneCallDetailsHelper.java
index 019e608..f312a5d 100644
--- a/src/com/android/contacts/PhoneCallDetailsHelper.java
+++ b/src/com/android/contacts/PhoneCallDetailsHelper.java
@@ -111,8 +111,13 @@
             mPhoneNumberHelper.getDisplayNumber(details.number, details.formattedNumber);
         if (TextUtils.isEmpty(details.name)) {
             nameText = displayNumber;
-            numberText = mPhoneNumberHelper.getGeocodeForNumber(
+            String geocode = mPhoneNumberHelper.getGeocodeForNumber(
                     details.number.toString(), details.countryIso);
+            if (TextUtils.isEmpty(geocode)) {
+                numberText = mResources.getString(R.string.call_log_empty_gecode);
+            } else {
+                numberText = geocode;
+            }
         } else {
             nameText = details.name;
             if (numberFormattedLabel != null) {
diff --git a/tests/src/com/android/contacts/PhoneCallDetailsHelperTest.java b/tests/src/com/android/contacts/PhoneCallDetailsHelperTest.java
index 3f4e49c..8feca19 100644
--- a/tests/src/com/android/contacts/PhoneCallDetailsHelperTest.java
+++ b/tests/src/com/android/contacts/PhoneCallDetailsHelperTest.java
@@ -181,6 +181,18 @@
         }
     }
 
+    public void testSetPhoneCallDetails_NoGeocode() {
+        LocaleTestUtils localeTestUtils = new LocaleTestUtils(getContext());
+        localeTestUtils.setLocale(Locale.US);
+        try {
+            setPhoneCallDetailsWithNumber("+0", "+0");
+            assertNameEquals("+0");  // The phone number is shown as the name.
+            assertNumberEquals("-");  // The empty geocode is shown as the number.
+        } finally {
+            localeTestUtils.restoreLocale();
+        }
+    }
+
     public void testSetPhoneCallDetails_NameOnly() {
         setPhoneCallDetailsNameOnly();
         assertEquals(View.VISIBLE, mViews.nameView.getVisibility());