Revert "Set up fragments just after setContentView()."

It crashed on 2-pane portrait.  Seems like there's no ContactDetailFragment in the layout...

This reverts commit 0dafecbe5dbf810d83f9cf0ce590e8e055c53a48
diff --git a/src/com/android/contacts/ContactsActivity.java b/src/com/android/contacts/ContactsActivity.java
index 1414f80..b78fad2 100644
--- a/src/com/android/contacts/ContactsActivity.java
+++ b/src/com/android/contacts/ContactsActivity.java
@@ -19,13 +19,10 @@
 import com.android.contacts.test.InjectedServices;
 
 import android.app.Activity;
-import android.app.Fragment;
-import android.app.FragmentManager;
 import android.content.ContentResolver;
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.os.Bundle;
-import android.view.View;
 
 /**
  * A common superclass for Contacts activities that handles application-wide services.
@@ -89,32 +86,4 @@
     public void onServiceCompleted(Intent callbackIntent) {
         onNewIntent(callbackIntent);
     }
-
-    /**
-     * Convenient version of {@link FragmentManager#findFragmentById(int)}, which throws
-     * an exception if the fragment doesn't exist.
-     */
-    @SuppressWarnings("unchecked")
-    public <T extends Fragment> T getFragment(int id) {
-        T result = (T)getFragmentManager().findFragmentById(id);
-        if (result == null) {
-            throw new IllegalArgumentException("fragment 0x" + Integer.toHexString(id)
-                    + " doesn't exist");
-        }
-        return result;
-    }
-
-    /**
-     * Convenient version of {@link #findViewById(int)}, which throws
-     * an exception if the view doesn't exist.
-     */
-    @SuppressWarnings("unchecked")
-    public <T extends View> T getView(int id) {
-        T result = (T)findViewById(id);
-        if (result == null) {
-            throw new IllegalArgumentException("view 0x" + Integer.toHexString(id)
-                    + " doesn't exist");
-        }
-        return result;
-    }
 }
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 1bc5d06..12a17f2 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -90,6 +90,7 @@
 import android.widget.AdapterView;
 import android.widget.AdapterView.OnItemClickListener;
 import android.widget.ListPopupWindow;
+import android.widget.SearchView;
 import android.widget.Toast;
 
 import java.util.ArrayList;
@@ -209,13 +210,38 @@
 
     @Override
     public void onAttachFragment(Fragment fragment) {
-        if (fragment instanceof ContactsUnavailableFragment) {
-            // This fragment is inflated dynamically, we'll initialize it here in onAttachFragment,
-            // as opposed to configureContentView().
+        if (fragment instanceof DefaultContactBrowseListFragment) {
+            mAllFragment = (DefaultContactBrowseListFragment)fragment;
+            mAllFragment.setOnContactListActionListener(new ContactBrowserActionListener());
+            if (!getWindow().hasFeature(Window.FEATURE_ACTION_BAR)) {
+                mAllFragment.setContextMenuAdapter(
+                        new ContactBrowseListContextMenuAdapter(mAllFragment));
+            }
+        } else if (fragment instanceof GroupBrowseListFragment) {
+            mGroupsFragment = (GroupBrowseListFragment) fragment;
+            mGroupsFragment.setListener(new GroupBrowserActionListener());
+        } else if (fragment instanceof ContactDetailFragment) {
+            mContactDetailFragment = (ContactDetailFragment) fragment;
+            mContactDetailFragment.setListener(mContactDetailFragmentListener);
+        } else if (fragment instanceof ContactDetailUpdatesFragment) {
+            mContactDetailUpdatesFragment = (ContactDetailUpdatesFragment) fragment;
+        } else if (fragment instanceof ContactsUnavailableFragment) {
             mContactsUnavailableFragment = (ContactsUnavailableFragment)fragment;
             mContactsUnavailableFragment.setProviderStatusLoader(mProviderStatusLoader);
             mContactsUnavailableFragment.setOnContactsUnavailableActionListener(
                     new ContactsUnavailableFragmentListener());
+        } else if (fragment instanceof ContactLoaderFragment) {
+            mContactDetailLoaderFragment = (ContactLoaderFragment) fragment;
+            mContactDetailLoaderFragment.setListener(mContactDetailLoaderFragmentListener);
+        } else if (fragment instanceof GroupDetailFragment) {
+            mGroupDetailFragment = (GroupDetailFragment) fragment;
+            mGroupDetailFragment.setListener(mGroupDetailFragmentListener);
+            mGroupDetailFragment.setQuickContact(PhoneCapabilityTester.isUsingTwoPanes(this));
+        } else if (fragment instanceof StrequentContactListFragment) {
+            mFavoritesFragment = (StrequentContactListFragment) fragment;
+            mFavoritesFragment.setListener(mFavoritesFragmentListener);
+            mFavoritesFragment.setDisplayType(DisplayType.STARRED_ONLY);
+            mFavoritesFragment.setQuickContact(PhoneCapabilityTester.isUsingTwoPanes(this));
         }
     }
 
@@ -249,6 +275,39 @@
             return;
         }
 
+        if (createContentView) {
+            setContentView(R.layout.people_activity);
+
+            mFavoritesView = findViewById(R.id.favorites_view);
+            mDetailsView = findViewById(R.id.details_view);
+            mBrowserView = findViewById(R.id.browse_view);
+
+            final FragmentManager fragmentManager = getFragmentManager();
+            mFavoritesFragment = (StrequentContactListFragment) fragmentManager
+                    .findFragmentById(R.id.favorites_fragment);
+            mFrequentFragment = (StrequentContactListFragment) fragmentManager
+                    .findFragmentById(R.id.frequent_fragment);
+            mAllFragment = (DefaultContactBrowseListFragment) fragmentManager
+                    .findFragmentById(R.id.all_fragment);
+            mGroupsFragment = (GroupBrowseListFragment) fragmentManager
+                    .findFragmentById(R.id.groups_fragment);
+            // Hide all tabs (the current tab will later be reshown once a tab is selected)
+            final FragmentTransaction transaction = fragmentManager.beginTransaction();
+            transaction.hide(mAllFragment);
+            transaction.hide(mGroupsFragment);
+
+            if (mFrequentFragment != null) {
+                mFrequentFragment.setDisplayType(DisplayType.FREQUENT_ONLY);
+            }
+            if (mContactDetailFragment != null) {
+                transaction.hide(mContactDetailFragment);
+            }
+            if (mGroupDetailFragment != null) {
+                transaction.hide(mGroupDetailFragment);
+            }
+            transaction.commit();
+        }
+
         if (mRequest.getActionCode() == ContactsRequest.ACTION_VIEW_CONTACT
                 && !PhoneCapabilityTester.isUsingTwoPanes(this)) {
             redirect = new Intent(this, ContactDetailActivity.class);
@@ -259,65 +318,6 @@
             return;
         }
 
-        if (createContentView) {
-            setContentView(R.layout.people_activity);
-
-            final FragmentManager fragmentManager = getFragmentManager();
-
-            // Hide all tabs (the current tab will later be reshown once a tab is selected)
-            final FragmentTransaction transaction = fragmentManager.beginTransaction();
-
-            // Common fragments that exist on both 1 and 2 panes.
-            mFavoritesFragment = getFragment(R.id.favorites_fragment);
-            mFavoritesFragment.setListener(mFavoritesFragmentListener);
-            mFavoritesFragment.setDisplayType(DisplayType.STARRED_ONLY);
-
-            mAllFragment = getFragment(R.id.all_fragment);
-            mAllFragment.setOnContactListActionListener(new ContactBrowserActionListener());
-            if (!getWindow().hasFeature(Window.FEATURE_ACTION_BAR)) {
-                mAllFragment.setContextMenuAdapter(
-                        new ContactBrowseListContextMenuAdapter(mAllFragment));
-            }
-
-            mGroupsFragment = getFragment(R.id.groups_fragment);
-            mGroupsFragment.setListener(new GroupBrowserActionListener());
-
-            transaction.hide(mAllFragment);
-            transaction.hide(mGroupsFragment);
-
-            if (PhoneCapabilityTester.isUsingTwoPanes(this)) {
-                mFavoritesFragment.setQuickContact(true);
-
-                // Container views for fragments
-                mFavoritesView = getView(R.id.favorites_view);
-                mDetailsView = getView(R.id.details_view);
-                mBrowserView = getView(R.id.browse_view);
-
-                // 2-pane only fragments
-                mFrequentFragment = getFragment(R.id.frequent_fragment);
-                mFrequentFragment.setListener(mFavoritesFragmentListener);
-                mFrequentFragment.setDisplayType(DisplayType.FREQUENT_ONLY);
-                mFrequentFragment.setQuickContact(true);
-
-                mContactDetailFragment = getFragment(R.id.about_fragment);
-                mContactDetailFragment.setListener(mContactDetailFragmentListener);
-
-                mContactDetailUpdatesFragment = getFragment(R.id.updates_fragment);
-
-                mContactDetailLoaderFragment = getFragment(R.id.contact_detail_loader_fragment);
-                mContactDetailLoaderFragment.setListener(mContactDetailLoaderFragmentListener);
-
-                mGroupDetailFragment = getFragment(R.id.group_detail_fragment);
-                mGroupDetailFragment.setListener(mGroupDetailFragmentListener);
-                mGroupDetailFragment.setQuickContact(true);
-
-                transaction.hide(mContactDetailFragment);
-                transaction.hide(mGroupDetailFragment);
-            }
-            transaction.commit();
-            fragmentManager.executePendingTransactions();
-        }
-
         setTitle(mRequest.getActivityTitle());
         ActionBar actionBar = getActionBar();
         mActionBarAdapter = new ActionBarAdapter(this, this);