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();