Fix search crash

Trap NPEs thrown by CP2 query so faulty directory providers don't crash us.

Bug:12893832
Change-Id: Ie88aafb84b6d7129da02d6e0a4457ecfad5ca9b5
(cherry picked from commit ae961fff72fd6612ccad09c9aa63e5ebabd826ea)
diff --git a/src/com/android/contacts/common/list/ProfileAndContactsLoader.java b/src/com/android/contacts/common/list/ProfileAndContactsLoader.java
index 76715db..c19737d 100644
--- a/src/com/android/contacts/common/list/ProfileAndContactsLoader.java
+++ b/src/com/android/contacts/common/list/ProfileAndContactsLoader.java
@@ -58,7 +58,13 @@
         }
         // ContactsCursor.loadInBackground() can return null; MergeCursor
         // correctly handles null cursors.
-        final Cursor contactsCursor = super.loadInBackground();
+        Cursor cursor = null;
+        try {
+            cursor = super.loadInBackground();
+        } catch (NullPointerException e) {
+            // Ignore NPEs thrown by providers
+        }
+        final Cursor contactsCursor = cursor;
         cursors.add(contactsCursor);
         return new MergeCursor(cursors.toArray(new Cursor[cursors.size()])) {
             @Override