From b9ebfa8740fb08c5e8f1c6a3c4097abc038bfa72 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Tue, 25 Sep 2012 17:37:07 -0700 Subject: [PATCH] Switching filter modes in task list activity while swipe enabled is now handled correctly --- .../astrid/activity/TaskListActivity.java | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index 9f4c71346..e41e4a68d 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -199,14 +199,7 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener extras.putParcelable(TaskListFragment.TOKEN_FILTER, savedFilter); if (swipeIsEnabled()) { - FilterListFragment flf = getFilterListFragment(); - if (flf == null) - throw new RuntimeException("Filterlist fragment was null, needs to exist to construct the fragment pager"); //$NON-NLS-1$ - FilterAdapter adapter = flf.adapter; - tlfPager = (TaskListFragmentPager) findViewById(R.id.pager); - tlfPagerAdapter = new TaskListFragmentPagerAdapter(getSupportFragmentManager(), adapter); - tlfPager.setAdapter(tlfPagerAdapter); - tlfPager.setOnPageChangeListener(this); + setupPagerAdapter(); } setupTasklistFragmentWithFilter(savedFilter, extras); @@ -223,6 +216,17 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener abTestEventReportingService.trackUserRetention(this); } + private void setupPagerAdapter() { + FilterListFragment flf = getFilterListFragment(); + if (flf == null) + throw new RuntimeException("Filterlist fragment was null, needs to exist to construct the fragment pager"); //$NON-NLS-1$ + FilterAdapter adapter = flf.adapter; + tlfPager = (TaskListFragmentPager) findViewById(R.id.pager); + tlfPagerAdapter = new TaskListFragmentPagerAdapter(getSupportFragmentManager(), adapter); + tlfPager.setAdapter(tlfPagerAdapter); + tlfPager.setOnPageChangeListener(this); + } + protected int getHeaderView() { return R.layout.header_nav_views; } @@ -737,12 +741,19 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener personImage.setVisibility(View.GONE); commentsButton.setVisibility(View.VISIBLE); } + + if (swipeIsEnabled()) { + setupPagerAdapter(); + } + } else { setupFragment(FilterListFragment.TAG_FILTERLIST_FRAGMENT, R.id.filterlist_fragment_container, filterModeSpec.getFilterListClass(), false, true); } onFilterItemClicked(getDefaultFilter()); + if (swipeIsEnabled()) + setListsTitle(tlfPagerAdapter.getPageTitle(0).toString()); if (fragmentLayout == LAYOUT_SINGLE) listsNav.performClick(); }