Even more clean-up work on the contact browser state machine

Change-Id: I17bec8528c9c1f1bd12cefda52b1aa74dd822006
diff --git a/src/com/android/contacts/activities/ContactBrowserActivity.java b/src/com/android/contacts/activities/ContactBrowserActivity.java
index dbf9f6c..1f035a3 100644
--- a/src/com/android/contacts/activities/ContactBrowserActivity.java
+++ b/src/com/android/contacts/activities/ContactBrowserActivity.java
@@ -341,19 +341,7 @@
                 mListFragment.setQueryString(mActionBarAdapter.getQueryString());
             }
         } else {
-            DefaultContactBrowseListFragment fragment =
-                (DefaultContactBrowseListFragment) mListFragment;
-            fragment.setFilter(mContactListFilterController.getFilter());
-            if (fromRequest && mRequest.getContactUri() != null) {
-                fragment.setSelectedContactUri(mRequest.getContactUri());
-                fragment.saveSelectedUri(mPrefs);
-            } else {
-                fragment.restoreSelectedUri(mPrefs);
-            }
-            fragment.requestSelectionOnScreen(false);
-            if (mContactContentDisplayed) {
-                setupContactDetailFragment(fragment.getSelectedContactUri());
-            }
+            configureListSelection();
         }
 
         if (replaceList) {
@@ -407,7 +395,10 @@
                     (DefaultContactBrowseListFragment) mListFragment;
             ContactListFilter filter = mContactListFilterController.getFilter();
             fragment.setFilter(filter);
-            if (mRequest.getContactUri() == null) {
+            if (mRequest.getContactUri() != null) {
+                fragment.setSelectedContactUri(mRequest.getContactUri());
+                fragment.saveSelectedUri(mPrefs);
+            } else {
                 fragment.restoreSelectedUri(mPrefs);
             }
             fragment.requestSelectionOnScreen(false);