summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/app/list/DialtactsPagerAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/app/list/DialtactsPagerAdapter.java')
-rw-r--r--java/com/android/dialer/app/list/DialtactsPagerAdapter.java47
1 files changed, 38 insertions, 9 deletions
diff --git a/java/com/android/dialer/app/list/DialtactsPagerAdapter.java b/java/com/android/dialer/app/list/DialtactsPagerAdapter.java
index 3b700d81b..dba3d3a93 100644
--- a/java/com/android/dialer/app/list/DialtactsPagerAdapter.java
+++ b/java/com/android/dialer/app/list/DialtactsPagerAdapter.java
@@ -24,9 +24,13 @@ import android.support.v13.app.FragmentPagerAdapter;
import android.view.ViewGroup;
import com.android.dialer.app.calllog.CallLogFragment;
import com.android.dialer.app.calllog.VisualVoicemailCallLogFragment;
+import com.android.dialer.calllog.CallLogComponent;
+import com.android.dialer.calllog.CallLogFramework;
+import com.android.dialer.calllog.ui.NewCallLogFragment;
import com.android.dialer.common.Assert;
import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.contactsfragment.ContactsFragment;
import com.android.dialer.database.CallLogQueryHandler;
import com.android.dialer.speeddial.SpeedDialFragment;
import com.android.dialer.util.ViewUtil;
@@ -54,11 +58,14 @@ public class DialtactsPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> fragments = new ArrayList<>();
private final String[] tabTitles;
private final boolean useNewSpeedDialTab;
-
+ private final boolean useNewCallLogTab;
+ private final boolean useNewContactsTab;
private OldSpeedDialFragment oldSpeedDialFragment;
private SpeedDialFragment speedDialFragment;
private CallLogFragment callLogFragment;
- private AllContactsFragment contactsFragment;
+ private NewCallLogFragment newCallLogFragment;
+ private AllContactsFragment oldContactsFragment;
+ private ContactsFragment contactsFragment;
private CallLogFragment voicemailFragment;
public boolean hasActiveVoicemailProvider;
@@ -68,6 +75,10 @@ public class DialtactsPagerAdapter extends FragmentPagerAdapter {
super(fm);
useNewSpeedDialTab =
ConfigProviderBindings.get(context).getBoolean("enable_new_favorites_tab", false);
+ CallLogFramework callLogFramework = CallLogComponent.get(context).callLogFramework();
+ useNewCallLogTab = callLogFramework.isNewCallLogEnabled(context);
+ useNewContactsTab =
+ ConfigProviderBindings.get(context).getBoolean("enable_new_contacts_tab", false);
this.tabTitles = tabTitles;
hasActiveVoicemailProvider = hasVoicemailProvider;
fragments.addAll(Collections.nCopies(TAB_COUNT_WITH_VOICEMAIL, null));
@@ -95,15 +106,29 @@ public class DialtactsPagerAdapter extends FragmentPagerAdapter {
return oldSpeedDialFragment;
}
case TAB_INDEX_HISTORY:
- if (callLogFragment == null) {
- callLogFragment = new CallLogFragment(CallLogQueryHandler.CALL_TYPE_ALL);
+ if (useNewCallLogTab) {
+ if (newCallLogFragment == null) {
+ newCallLogFragment = new NewCallLogFragment();
+ }
+ return newCallLogFragment;
+ } else {
+ if (callLogFragment == null) {
+ callLogFragment = new CallLogFragment(CallLogQueryHandler.CALL_TYPE_ALL);
+ }
+ return callLogFragment;
}
- return callLogFragment;
case TAB_INDEX_ALL_CONTACTS:
- if (contactsFragment == null) {
- contactsFragment = new AllContactsFragment();
+ if (useNewContactsTab) {
+ if (contactsFragment == null) {
+ contactsFragment = new ContactsFragment();
+ }
+ return contactsFragment;
+ } else {
+ if (oldContactsFragment == null) {
+ oldContactsFragment = new AllContactsFragment();
+ }
+ return oldContactsFragment;
}
- return contactsFragment;
case TAB_INDEX_VOICEMAIL:
if (voicemailFragment == null) {
voicemailFragment = new VisualVoicemailCallLogFragment();
@@ -131,8 +156,12 @@ public class DialtactsPagerAdapter extends FragmentPagerAdapter {
speedDialFragment = (SpeedDialFragment) fragment;
} else if (fragment instanceof CallLogFragment && position == TAB_INDEX_HISTORY) {
callLogFragment = (CallLogFragment) fragment;
+ } else if (fragment instanceof NewCallLogFragment) {
+ newCallLogFragment = (NewCallLogFragment) fragment;
+ } else if (fragment instanceof ContactsFragment) {
+ contactsFragment = (ContactsFragment) fragment;
} else if (fragment instanceof AllContactsFragment) {
- contactsFragment = (AllContactsFragment) fragment;
+ oldContactsFragment = (AllContactsFragment) fragment;
} else if (fragment instanceof CallLogFragment && position == TAB_INDEX_VOICEMAIL) {
voicemailFragment = (CallLogFragment) fragment;
LogUtil.v("ViewPagerAdapter.instantiateItem", voicemailFragment.toString());