Merge "Fix crash after revoking all app permissions" into ub-contactsdialer-h-dev
diff --git a/src/com/android/contacts/common/list/ProviderStatusWatcher.java b/src/com/android/contacts/common/list/ProviderStatusWatcher.java
index 3e8e2eb..af36db3 100644
--- a/src/com/android/contacts/common/list/ProviderStatusWatcher.java
+++ b/src/com/android/contacts/common/list/ProviderStatusWatcher.java
@@ -27,6 +27,8 @@
 
 import com.android.contacts.common.compat.ProviderStatusCompat;
 
+import com.android.contactsbind.FeedbackHelper;
+
 import com.google.common.collect.Lists;
 
 import java.util.ArrayList;
@@ -231,6 +233,10 @@
                     }
                 }
                 return false;
+            } catch (SecurityException e) {
+                FeedbackHelper.sendFeedback(mContext, TAG,
+                        "Security exception when querying provider status", e);
+                return false;
             } finally {
                 synchronized (mSignal) {
                     mSignal.notifyAll();
diff --git a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
index 5539428..f7ae30d 100644
--- a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
@@ -717,7 +717,7 @@
     }
 
     private void setDirectorySearchMode() {
-        if (mContactsRequest.isDirectorySearchEnabled()) {
+        if (mContactsRequest != null && mContactsRequest.isDirectorySearchEnabled()) {
             setDirectorySearchMode(DirectoryListLoader.SEARCH_MODE_DEFAULT);
         } else {
             setDirectorySearchMode(DirectoryListLoader.SEARCH_MODE_NONE);