Merge "On click, open quick contacts for list items in Dialer's Contacts."
diff --git a/src/com/android/dialer/calllog/CallLogFragment.java b/src/com/android/dialer/calllog/CallLogFragment.java
index 18f37f2..d0350f0 100644
--- a/src/com/android/dialer/calllog/CallLogFragment.java
+++ b/src/com/android/dialer/calllog/CallLogFragment.java
@@ -126,6 +126,10 @@
     public void onCreate(Bundle state) {
         super.onCreate(state);
 
+        String currentCountryIso = GeoUtil.getCurrentCountryIso(getActivity());
+        mAdapter = ObjectFactory.newCallLogAdapter(getActivity(), this, new ContactInfoHelper(
+                getActivity(), currentCountryIso), true, true);
+        setListAdapter(mAdapter);
         mCallLogQueryHandler = new CallLogQueryHandler(getActivity().getContentResolver(),
                 this, mLogLimit);
         mKeyguardManager =
@@ -229,10 +233,6 @@
     public void onViewCreated(View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
         updateEmptyMessage(mCallTypeFilter);
-        String currentCountryIso = GeoUtil.getCurrentCountryIso(getActivity());
-        mAdapter = ObjectFactory.newCallLogAdapter(getActivity(), this, new ContactInfoHelper(
-                getActivity(), currentCountryIso), true, true);
-        setListAdapter(mAdapter);
         getListView().setItemsCanFocus(true);
     }
 
diff --git a/src/com/android/dialer/list/ListsFragment.java b/src/com/android/dialer/list/ListsFragment.java
index f1d421c..5132727 100644
--- a/src/com/android/dialer/list/ListsFragment.java
+++ b/src/com/android/dialer/list/ListsFragment.java
@@ -12,6 +12,8 @@
 
 import com.android.contacts.common.list.OnPhoneNumberPickerActionListener;
 import com.android.dialer.R;
+import com.android.dialer.calllog.CallLogFragment;
+import com.android.dialer.calllog.CallLogQueryHandler;
 
 /**
  * Fragment that is used as the main screen of the Dialer.
@@ -26,14 +28,19 @@
     private ViewPager mViewPager;
     private ViewPagerAdapter mViewPagerAdapter;
     private PhoneFavoriteFragment mSpeedDialFragment;
+    private CallLogFragment mRecentsFragment;
     private AllContactsFragment mAllContactsFragment;
 
     private static final int TAB_INDEX_SPEED_DIAL = 0;
-    private static final int TAB_INDEX_ALL_CONTACTS = 1;
+    private static final int TAB_INDEX_RECENTS = 1;
+    private static final int TAB_INDEX_ALL_CONTACTS = 2;
 
     private String[] mTabTitles;
 
-    private static final int TAB_INDEX_COUNT = 2;
+    private static final int TAB_INDEX_COUNT = 3;
+
+    // TODO: Replace with a date limit (e.g. 2 weeks)
+    private static final int MAX_ENTRIES = 20;
 
     public class ViewPagerAdapter extends FragmentPagerAdapter {
         public ViewPagerAdapter(FragmentManager fm) {
@@ -46,6 +53,10 @@
                 case TAB_INDEX_SPEED_DIAL:
                     mSpeedDialFragment = new PhoneFavoriteFragment();
                     return mSpeedDialFragment;
+                case TAB_INDEX_RECENTS:
+                    mRecentsFragment = new CallLogFragment(CallLogQueryHandler.CALL_TYPE_ALL,
+                            MAX_ENTRIES);
+                    return mRecentsFragment;
                 case TAB_INDEX_ALL_CONTACTS:
                     mAllContactsFragment = new AllContactsFragment();
                     return mAllContactsFragment;
@@ -71,10 +82,11 @@
         mViewPager = (ViewPager) parentView.findViewById(R.id.lists_pager);
         mViewPagerAdapter = new ViewPagerAdapter(getChildFragmentManager());
         mViewPager.setAdapter(mViewPagerAdapter);
-        mViewPager.setOffscreenPageLimit(1);
+        mViewPager.setOffscreenPageLimit(2);
 
         mTabTitles = new String[TAB_INDEX_COUNT];
         mTabTitles[TAB_INDEX_SPEED_DIAL] = getResources().getString(R.string.tab_speed_dial);
+        mTabTitles[TAB_INDEX_RECENTS] = getResources().getString(R.string.tab_recents);
         mTabTitles[TAB_INDEX_ALL_CONTACTS] = getResources().getString(R.string.tab_all_contacts);
 
         ViewPagerTabs tabs = (ViewPagerTabs) parentView.findViewById(R.id.lists_pager_header);