Fixing NullPointer in NumbersAdapter

NumbersAdapater didn't properly handle null returns from
ContactInfoHelper#lookupNumber(String, String), which is part of
the method's documented contract.

Bug=26337800

Change-Id: Ib974e83c22982ad4151fab564c91a61c112ca2ae
diff --git a/src/com/android/dialer/calllog/ContactInfoHelper.java b/src/com/android/dialer/calllog/ContactInfoHelper.java
index 2ecb1e8..1fd2fad 100644
--- a/src/com/android/dialer/calllog/ContactInfoHelper.java
+++ b/src/com/android/dialer/calllog/ContactInfoHelper.java
@@ -26,6 +26,7 @@
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.DisplayNameSources;
 import android.provider.ContactsContract.PhoneLookup;
+import android.support.annotation.Nullable;
 import android.telephony.PhoneNumberUtils;
 import android.text.TextUtils;
 import android.util.Log;
@@ -72,6 +73,7 @@
      * @param number the number to look up
      * @param countryIso the country associated with this number
      */
+    @Nullable
     public ContactInfo lookupNumber(String number, String countryIso) {
         if (TextUtils.isEmpty(number)) {
             return null;
diff --git a/src/com/android/dialer/filterednumber/NumbersAdapter.java b/src/com/android/dialer/filterednumber/NumbersAdapter.java
index 4e2e578..17d5db3 100644
--- a/src/com/android/dialer/filterednumber/NumbersAdapter.java
+++ b/src/com/android/dialer/filterednumber/NumbersAdapter.java
@@ -15,10 +15,8 @@
  */
 package com.android.dialer.filterednumber;
 
-import android.app.Activity;
 import android.app.FragmentManager;
 import android.content.Context;
-import android.content.res.Resources;
 import android.provider.ContactsContract;
 import android.provider.ContactsContract.CommonDataKinds.Phone;
 import android.text.BidiFormatter;
@@ -43,7 +41,6 @@
     private Context mContext;
     private FragmentManager mFragmentManager;
     private ContactInfoHelper mContactInfoHelper;
-    private Resources mResources;
     private BidiFormatter mBidiFormatter = BidiFormatter.getInstance();
     private ContactPhotoManager mContactPhotoManager;
 
@@ -68,11 +65,16 @@
         if (CompatUtils.hasPrioritizedMimeType()) {
             quickContactBadge.setPrioritizedMimeType(Phone.CONTENT_ITEM_TYPE);
         }
-        final ContactInfo info = mContactInfoHelper.lookupNumber(number, countryIso);
+
+        ContactInfo info = mContactInfoHelper.lookupNumber(number, countryIso);
+        if (info == null) {
+            info = new ContactInfo();
+            info.number = number;
+        }
         final CharSequence locationOrType = getNumberTypeOrLocation(info);
         final String displayNumber = getDisplayNumber(info);
-        final String displayNumberStr = mBidiFormatter.unicodeWrap(
-                displayNumber.toString(), TextDirectionHeuristics.LTR);
+        final String displayNumberStr = mBidiFormatter.unicodeWrap(displayNumber,
+                TextDirectionHeuristics.LTR);
 
         String nameForDefaultImage;
         if (!TextUtils.isEmpty(info.name)) {