Switching filter modes in task list activity while swipe enabled is now handled correctly

pull/14/head
Sam Bosley 13 years ago
parent 8a4aa7b5eb
commit b9ebfa8740

@ -199,14 +199,7 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
extras.putParcelable(TaskListFragment.TOKEN_FILTER, savedFilter); extras.putParcelable(TaskListFragment.TOKEN_FILTER, savedFilter);
if (swipeIsEnabled()) { if (swipeIsEnabled()) {
FilterListFragment flf = getFilterListFragment(); setupPagerAdapter();
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);
} }
setupTasklistFragmentWithFilter(savedFilter, extras); setupTasklistFragmentWithFilter(savedFilter, extras);
@ -223,6 +216,17 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
abTestEventReportingService.trackUserRetention(this); 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() { protected int getHeaderView() {
return R.layout.header_nav_views; return R.layout.header_nav_views;
} }
@ -737,12 +741,19 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
personImage.setVisibility(View.GONE); personImage.setVisibility(View.GONE);
commentsButton.setVisibility(View.VISIBLE); commentsButton.setVisibility(View.VISIBLE);
} }
if (swipeIsEnabled()) {
setupPagerAdapter();
}
} else { } else {
setupFragment(FilterListFragment.TAG_FILTERLIST_FRAGMENT, R.id.filterlist_fragment_container, setupFragment(FilterListFragment.TAG_FILTERLIST_FRAGMENT, R.id.filterlist_fragment_container,
filterModeSpec.getFilterListClass(), false, true); filterModeSpec.getFilterListClass(), false, true);
} }
onFilterItemClicked(getDefaultFilter()); onFilterItemClicked(getDefaultFilter());
if (swipeIsEnabled())
setListsTitle(tlfPagerAdapter.getPageTitle(0).toString());
if (fragmentLayout == LAYOUT_SINGLE) if (fragmentLayout == LAYOUT_SINGLE)
listsNav.performClick(); listsNav.performClick();
} }

Loading…
Cancel
Save