Bring back the Strequent Fragment

Change-Id: Ib18bd1023c6f4ecd6bb6ec72eac68481ba815004
diff --git a/res/layout/dialtacts_activity.xml b/res/layout/dialtacts_activity.xml
index 63ca3bd..7a9e7b2 100644
--- a/res/layout/dialtacts_activity.xml
+++ b/res/layout/dialtacts_activity.xml
@@ -42,7 +42,7 @@
     <!-- Favorites -->
     <fragment
         android:id="@+id/favorites_fragment"
-        class="com.android.contacts.list.DefaultContactBrowseListFragment"
+        class="com.android.contacts.list.StrequentContactListFragment"
         android:layout_height="match_parent"
         android:layout_width="match_parent" />
 </FrameLayout>
\ No newline at end of file
diff --git a/src/com/android/contacts/activities/DialtactsActivity.java b/src/com/android/contacts/activities/DialtactsActivity.java
index baae703..9270565 100644
--- a/src/com/android/contacts/activities/DialtactsActivity.java
+++ b/src/com/android/contacts/activities/DialtactsActivity.java
@@ -20,12 +20,14 @@
 import com.android.contacts.calllog.CallLogFragment;
 import com.android.contacts.dialpad.DialpadFragment;
 import com.android.contacts.interactions.ImportExportDialogFragment;
+import com.android.contacts.interactions.PhoneNumberInteraction;
 import com.android.contacts.list.ContactListFilter;
 import com.android.contacts.list.ContactsIntentResolver;
 import com.android.contacts.list.ContactsRequest;
 import com.android.contacts.list.DefaultContactBrowseListFragment;
 import com.android.contacts.list.DirectoryListLoader;
 import com.android.contacts.list.OnContactBrowserActionListener;
+import com.android.contacts.list.StrequentContactListFragment;
 import com.android.contacts.preference.ContactsPreferenceActivity;
 import com.android.internal.telephony.ITelephony;
 
@@ -84,7 +86,7 @@
     private DialpadFragment mDialpadFragment;
     private CallLogFragment mCallLogFragment;
     private DefaultContactBrowseListFragment mContactsFragment;
-    private DefaultContactBrowseListFragment mFavoritesFragment;
+    private StrequentContactListFragment mStrequentFragment;
 
     /**
      * The index of the tab that has last been manually selected (the user clicked on a tab).
@@ -92,6 +94,9 @@
      */
     private int mLastManuallySelectedTab;
 
+    // TODO: It would be great to eventually remove all interactions and replace by DialogFragments
+    private PhoneNumberInteraction mPhoneNumberCallInteraction;
+
     @Override
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
@@ -108,7 +113,7 @@
                 .findFragmentById(R.id.call_log_fragment);
         mContactsFragment = (DefaultContactBrowseListFragment) fragmentManager
                 .findFragmentById(R.id.contacts_fragment);
-        mFavoritesFragment = (DefaultContactBrowseListFragment) fragmentManager
+        mStrequentFragment = (StrequentContactListFragment) fragmentManager
                 .findFragmentById(R.id.favorites_fragment);
 
         // Hide all tabs (the current tab will later be reshown once a tab is selected)
@@ -116,7 +121,7 @@
         transaction.hide(mDialpadFragment);
         transaction.hide(mCallLogFragment);
         transaction.hide(mContactsFragment);
-        transaction.hide(mFavoritesFragment);
+        transaction.hide(mStrequentFragment);
         transaction.commit();
 
         // Setup the ActionBar tabs (the order matches the tab-index contants TAB_INDEX_*)
@@ -214,7 +219,7 @@
         final Tab tab = getActionBar().newTab();
         tab.setText(R.string.contactsFavoritesLabel);
         tab.setIcon(R.drawable.ic_tab_starred);
-        tab.setTabListener(new TabChangeListener(mFavoritesFragment));
+        tab.setTabListener(new TabChangeListener(mStrequentFragment));
         getActionBar().addTab(tab);
 
         // TODO: We should not artificially create Intents and put them into the Fragment.
@@ -226,14 +231,14 @@
         ContactsRequest request = resolver.resolveIntent(intent);
         final ContactListFilter filter = new ContactListFilter(
                 ContactListFilter.FILTER_TYPE_STARRED);
-        mFavoritesFragment.setFilter(filter, false);
-        mFavoritesFragment.setSearchMode(request.isSearchMode());
-        mFavoritesFragment.setQueryString(request.getQueryString(), false);
-        mFavoritesFragment.setContactsRequest(request);
-        mFavoritesFragment.setDirectorySearchMode(request.isDirectorySearchEnabled()
+        mStrequentFragment.setFilter(filter, false);
+        mStrequentFragment.setSearchMode(request.isSearchMode());
+        mStrequentFragment.setQueryString(request.getQueryString(), false);
+        mStrequentFragment.setContactsRequest(request);
+        mStrequentFragment.setDirectorySearchMode(request.isDirectorySearchEnabled()
                 ? DirectoryListLoader.SEARCH_MODE_DEFAULT
                 : DirectoryListLoader.SEARCH_MODE_NONE);
-        mFavoritesFragment.setOnContactListActionListener(mListFragmentListener);
+        mStrequentFragment.setOnContactListActionListener(mListFragmentListener);
     }
 
     /**
@@ -415,6 +420,13 @@
         }
     }
 
+    private PhoneNumberInteraction getPhoneNumberCallInteraction() {
+        if (mPhoneNumberCallInteraction == null) {
+            mPhoneNumberCallInteraction = new PhoneNumberInteraction(this, false, null);
+        }
+        return mPhoneNumberCallInteraction;
+    }
+
     @Override
     protected void onPostCreate(Bundle savedInstanceState) {
         super.onPostCreate(savedInstanceState);
@@ -495,6 +507,7 @@
 
         @Override
         public void onCallContactAction(Uri contactUri) {
+            getPhoneNumberCallInteraction().startInteraction(contactUri);
         }
 
         @Override
diff --git a/src/com/android/contacts/list/StrequentContactListFragment.java b/src/com/android/contacts/list/StrequentContactListFragment.java
index b88a60d..393e698 100644
--- a/src/com/android/contacts/list/StrequentContactListFragment.java
+++ b/src/com/android/contacts/list/StrequentContactListFragment.java
@@ -25,8 +25,6 @@
 /**
  * Fragment containing a list of starred contacts followed by a list of frequently contacted.
  */
-
-// TODO: This class is currently unused.  Bring it back as a mode of ContactBrowserListFragment
 public class StrequentContactListFragment extends ContactBrowseListFragment
         implements OnClickListener {