Fixed a crash with DisposableTaskListFragment

pull/14/head
Sam Bosley 13 years ago
parent 49ddd435f8
commit 2e36704124

@ -26,7 +26,7 @@ public class DisposableTaskListFragment extends TaskListFragment {
TaskListActivity tla = (TaskListActivity) activity; TaskListActivity tla = (TaskListActivity) activity;
if (tla.getFragmentLayout() == AstridActivity.LAYOUT_SINGLE) { if (tla.getFragmentLayout() == AstridActivity.LAYOUT_SINGLE) {
TaskListFragmentPagerAdapter adapter = tla.getFragmentPagerAdapter(); TaskListFragmentPagerAdapter adapter = tla.getFragmentPagerAdapter();
if (adapter != null) if (adapter != null && adapter.getPosition(filter) >= 0)
adapter.remove(filter); adapter.remove(filter);
} }
} }

@ -374,6 +374,10 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
setCommentsCount(0); setCommentsCount(0);
if (swipeIsEnabled()) { if (swipeIsEnabled()) {
TaskListFragment currentFragment = getTaskListFragment();
if (currentFragment instanceof DisposableTaskListFragment) {
tlfPagerAdapter.remove(currentFragment.filter);
}
TaskListFragmentPager.showSwipeBetweenHelper(this); TaskListFragmentPager.showSwipeBetweenHelper(this);
tlfPager.showFilter((Filter) item); tlfPager.showFilter((Filter) item);
return true; return true;

@ -74,6 +74,10 @@ public class TaskListFragmentPagerAdapter extends FragmentStatePagerAdapter impl
return filterAdapter.addOrLookup(filter); return filterAdapter.addOrLookup(filter);
} }
public int getPosition(Filter filter) {
return filterAdapter.getPosition(filter);
}
public void remove(Filter filter) { public void remove(Filter filter) {
filterAdapter.remove(filter); filterAdapter.remove(filter);
} }

Loading…
Cancel
Save