Fixing NPE when filter list is loaded before fragments are added

Bug: 3299359
Change-Id: I8de2818c4df18f93572b91d685ffbe151131c927
diff --git a/src/com/android/contacts/activities/ContactBrowserActivity.java b/src/com/android/contacts/activities/ContactBrowserActivity.java
index 5379209..4f1f353 100644
--- a/src/com/android/contacts/activities/ContactBrowserActivity.java
+++ b/src/com/android/contacts/activities/ContactBrowserActivity.java
@@ -146,6 +146,9 @@
         if (fragment instanceof ContactBrowseListFragment) {
             mListFragment = (ContactBrowseListFragment)fragment;
             mListFragment.setOnContactListActionListener(new ContactBrowserActionListener());
+            if (mContactListFilterController.isLoaded()) {
+                mListFragment.setFilter(mContactListFilterController.getFilter());
+            }
         } else if (fragment instanceof ContactDetailFragment) {
             mDetailFragment = (ContactDetailFragment)fragment;
             mDetailFragment.setListener(mDetailFragmentListener);
@@ -352,7 +355,7 @@
 
     @Override
     public void onContactListFiltersLoaded() {
-        if (mListFragment == null) {
+        if (mListFragment == null || !mListFragment.isAdded()) {
             return;
         }
 
@@ -363,7 +366,7 @@
 
     @Override
     public void onContactListFilterChanged() {
-        if (mListFragment == null) {
+        if (mListFragment == null || !mListFragment.isAdded()) {
             return;
         }
 
diff --git a/src/com/android/contacts/list/ContactBrowseListFragment.java b/src/com/android/contacts/list/ContactBrowseListFragment.java
index 10c497d..251393c 100644
--- a/src/com/android/contacts/list/ContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/ContactBrowseListFragment.java
@@ -167,7 +167,7 @@
             return;
         }
 
-        Log.v(TAG, "New filter: " + mFilter);
+        Log.v(TAG, "New filter: " + filter);
 
         mFilter = filter;
         saveFilter();