diff options
Diffstat (limited to 'java/com/android/dialer/app/calllog/CallLogActivity.java')
-rw-r--r-- | java/com/android/dialer/app/calllog/CallLogActivity.java | 33 |
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); |