From 2e36704124cf8056d3597dc1b8e2b1c2a23ed38e Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Mon, 24 Sep 2012 16:41:43 -0700 Subject: [PATCH] Fixed a crash with DisposableTaskListFragment --- .../todoroo/astrid/activity/DisposableTaskListFragment.java | 2 +- astrid/src/com/todoroo/astrid/activity/TaskListActivity.java | 4 ++++ .../todoroo/astrid/adapter/TaskListFragmentPagerAdapter.java | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/astrid/src/com/todoroo/astrid/activity/DisposableTaskListFragment.java b/astrid/src/com/todoroo/astrid/activity/DisposableTaskListFragment.java index 868983930..5d3b96c95 100644 --- a/astrid/src/com/todoroo/astrid/activity/DisposableTaskListFragment.java +++ b/astrid/src/com/todoroo/astrid/activity/DisposableTaskListFragment.java @@ -26,7 +26,7 @@ public class DisposableTaskListFragment extends TaskListFragment { TaskListActivity tla = (TaskListActivity) activity; if (tla.getFragmentLayout() == AstridActivity.LAYOUT_SINGLE) { TaskListFragmentPagerAdapter adapter = tla.getFragmentPagerAdapter(); - if (adapter != null) + if (adapter != null && adapter.getPosition(filter) >= 0) adapter.remove(filter); } } diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index b22f3d114..f34db4122 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -374,6 +374,10 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener setCommentsCount(0); if (swipeIsEnabled()) { + TaskListFragment currentFragment = getTaskListFragment(); + if (currentFragment instanceof DisposableTaskListFragment) { + tlfPagerAdapter.remove(currentFragment.filter); + } TaskListFragmentPager.showSwipeBetweenHelper(this); tlfPager.showFilter((Filter) item); return true; diff --git a/astrid/src/com/todoroo/astrid/adapter/TaskListFragmentPagerAdapter.java b/astrid/src/com/todoroo/astrid/adapter/TaskListFragmentPagerAdapter.java index dd4cd7b41..84157f61b 100644 --- a/astrid/src/com/todoroo/astrid/adapter/TaskListFragmentPagerAdapter.java +++ b/astrid/src/com/todoroo/astrid/adapter/TaskListFragmentPagerAdapter.java @@ -74,6 +74,10 @@ public class TaskListFragmentPagerAdapter extends FragmentStatePagerAdapter impl return filterAdapter.addOrLookup(filter); } + public int getPosition(Filter filter) { + return filterAdapter.getPosition(filter); + } + public void remove(Filter filter) { filterAdapter.remove(filter); }