Fix crash when changing customized list setting
Bug: 31838582
Test: Manual testing on nexus 6p following repro steps observing no
crash.
Change-Id: I5b9785a759bd4513237e859862ae0fb711173feb
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index b26a52f..82ffbe8 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -899,9 +899,11 @@
}
private void handleFilterChangeForFragment(ContactListFilter filter) {
- mAllFragment.setFilterAndUpdateTitle(filter);
- // Scroll to top after filter is changed.
- mAllFragment.scrollToTop();
+ if (mAllFragment.canSetActionBar()) {
+ mAllFragment.setFilterAndUpdateTitle(filter);
+ // Scroll to top after filter is changed.
+ mAllFragment.scrollToTop();
+ }
}
private void handleFilterChangeForActivity(ContactListFilter filter) {
diff --git a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
index 03933a1..331c566 100644
--- a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
@@ -128,6 +128,8 @@
private boolean mIsRecreatedInstance;
private boolean mOptionsMenuContactsAvailable;
+ private boolean mCanSetActionBar = false;
+
/**
* If {@link #configureFragment()} is already called. Used to avoid calling it twice
* in {@link #onResume()}.
@@ -649,6 +651,7 @@
}
setDirectorySearchMode();
+ mCanSetActionBar = true;
}
public void initializeActionBarAdapter(Bundle savedInstanceState) {
@@ -1205,4 +1208,8 @@
return false;
}
+
+ public boolean canSetActionBar() {
+ return mCanSetActionBar;
+ }
}