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 {