summaryrefslogtreecommitdiffstats
path: root/java/com/android/dialer/app/calllog/CallLogActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/app/calllog/CallLogActivity.java')
-rw-r--r--java/com/android/dialer/app/calllog/CallLogActivity.java33
1 files changed, 27 insertions, 6 deletions
diff --git a/java/com/android/dialer/app/calllog/CallLogActivity.java b/java/com/android/dialer/app/calllog/CallLogActivity.java
index f28aa0fc7..ff3ff558a 100644
--- a/java/com/android/dialer/app/calllog/CallLogActivity.java
+++ b/java/com/android/dialer/app/calllog/CallLogActivity.java
@@ -33,6 +33,8 @@ import android.view.ViewGroup;
import com.android.contacts.common.list.ViewPagerTabs;
import com.android.dialer.app.R;
import com.android.dialer.calldetails.OldCallDetailsActivity;
+import com.android.dialer.callstats.CallStatsFragment;
+import com.android.dialer.callstats.DoubleDatePickerDialog;
import com.android.dialer.common.Assert;
import com.android.dialer.constants.ActivityRequestCodes;
import com.android.dialer.database.CallLogQueryHandler;
@@ -45,17 +47,19 @@ import com.android.dialer.util.TransactionSafeActivity;
import com.android.dialer.util.ViewUtil;
/** Activity for viewing call history. */
-public class CallLogActivity extends TransactionSafeActivity
- implements ViewPager.OnPageChangeListener {
+public class CallLogActivity extends TransactionSafeActivity implements
+ ViewPager.OnPageChangeListener, DoubleDatePickerDialog.OnDateSetListener {
@VisibleForTesting static final int TAB_INDEX_ALL = 0;
@VisibleForTesting static final int TAB_INDEX_MISSED = 1;
- private static final int TAB_INDEX_COUNT = 2;
+ private static final int TAB_INDEX_STATS = 2;
+ private static final int TAB_INDEX_COUNT = 3;
private ViewPager viewPager;
private ViewPagerTabs viewPagerTabs;
private ViewPagerAdapter viewPagerAdapter;
private CallLogFragment allCallsFragment;
private CallLogFragment missedCallsFragment;
+ private CallStatsFragment statsFragment;
private String[] tabTitles;
private boolean isResumed;
private int selectedPageIndex;
@@ -86,6 +90,7 @@ public class CallLogActivity extends TransactionSafeActivity
tabTitles = new String[TAB_INDEX_COUNT];
tabTitles[0] = getString(R.string.call_log_all_title);
tabTitles[1] = getString(R.string.call_log_missed_title);
+ tabTitles[2] = getString(R.string.call_log_stats_title);
viewPager = (ViewPager) findViewById(R.id.call_log_pager);
@@ -187,6 +192,15 @@ public class CallLogActivity extends TransactionSafeActivity
viewPagerTabs.onPageScrollStateChanged(state);
}
+ @Override
+ public void onDateSet(long from, long to) {
+ switch (viewPager.getCurrentItem()) {
+ case TAB_INDEX_STATS:
+ statsFragment.onDateSet(from, to);
+ break;
+ }
+ }
+
private void sendScreenViewForChildFragment() {
Logger.get(this).logScreenView(ScreenEvent.Type.CALL_LOG_FILTER, this);
}
@@ -213,6 +227,8 @@ public class CallLogActivity extends TransactionSafeActivity
missedCallsFragment.markMissedCallsAsReadAndRemoveNotifications();
}
break;
+ case TAB_INDEX_STATS:
+ break;
default:
throw Assert.createIllegalStateFailException("Invalid position: " + position);
}
@@ -244,6 +260,8 @@ public class CallLogActivity extends TransactionSafeActivity
CallLogQueryHandler.CALL_TYPE_ALL, true /* isCallLogActivity */);
case TAB_INDEX_MISSED:
return new CallLogFragment(Calls.MISSED_TYPE, true /* isCallLogActivity */);
+ case TAB_INDEX_STATS:
+ return new CallStatsFragment();
default:
throw new IllegalStateException("No fragment at position " + position);
}
@@ -251,13 +269,16 @@ public class CallLogActivity extends TransactionSafeActivity
@Override
public Object instantiateItem(ViewGroup container, int position) {
- final CallLogFragment fragment = (CallLogFragment) super.instantiateItem(container, position);
+ final Object fragment = super.instantiateItem(container, position);
switch (getRtlPosition(position)) {
case TAB_INDEX_ALL:
- allCallsFragment = fragment;
+ allCallsFragment = (CallLogFragment) fragment;
break;
case TAB_INDEX_MISSED:
- missedCallsFragment = fragment;
+ missedCallsFragment = (CallLogFragment) fragment;
+ break;
+ case TAB_INDEX_STATS:
+ statsFragment = (CallStatsFragment) fragment;
break;
default:
throw Assert.createIllegalStateFailException("Invalid position: " + position);