Fixing NPE and a race condition on initial load
Change-Id: Iab48097299f36366fae0849baa115feaa497b55b
diff --git a/src/com/android/contacts/activities/ContactBrowserActivity.java b/src/com/android/contacts/activities/ContactBrowserActivity.java
index 2106f44..1ebac7b 100644
--- a/src/com/android/contacts/activities/ContactBrowserActivity.java
+++ b/src/com/android/contacts/activities/ContactBrowserActivity.java
@@ -384,6 +384,10 @@
* Restores filter-specific persistent selection.
*/
private void restoreListSelection() {
+ if (mListFragment == null) {
+ return;
+ }
+
if (mListFragment instanceof DefaultContactBrowseListFragment
&& mContactListFilterController != null
&& mContactListFilterController.isLoaded()) {
@@ -392,9 +396,10 @@
fragment.setFilter(mContactListFilterController.getFilter());
fragment.restoreSelectedUri(mPrefs);
fragment.requestSelectionOnScreen(false);
- }
-
- if (mContactContentDisplayed) {
+ if (mContactContentDisplayed) {
+ setupContactDetailFragment(mListFragment.getSelectedContactUri());
+ }
+ } else if (mContactContentDisplayed) {
setupContactDetailFragment(mListFragment.getSelectedContactUri());
}
}