From 03c7d2eabb82698eb7d60ed6151a282676b47265 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Tue, 10 Jan 2012 15:19:54 -0800 Subject: [PATCH] Pass the current filter as an extra in the intent when launching the edit activity --- .../astrid/activity/DraggableTaskListActivity.java | 4 +--- .../com/todoroo/astrid/activity/ShareLinkActivity.java | 1 + .../com/todoroo/astrid/activity/TaskListActivity.java | 9 +++++++++ astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java | 8 +++++--- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/astrid/src/com/todoroo/astrid/activity/DraggableTaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/DraggableTaskListActivity.java index e52a19a6f..7d955a6ef 100644 --- a/astrid/src/com/todoroo/astrid/activity/DraggableTaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/DraggableTaskListActivity.java @@ -6,7 +6,6 @@ import java.util.concurrent.atomic.AtomicReference; import android.database.Cursor; import android.os.Bundle; -import android.support.v4.app.ListFragment; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; @@ -19,7 +18,6 @@ import com.todoroo.andlib.data.Property; import com.todoroo.andlib.data.Property.IntegerProperty; import com.todoroo.andlib.data.TodorooCursor; import com.todoroo.astrid.adapter.TaskAdapter; -import com.todoroo.astrid.adapter.TaskAdapter.OnCompletedTaskListener; import com.todoroo.astrid.core.SortHelper; import com.todoroo.astrid.data.Task; @@ -107,7 +105,7 @@ public class DraggableTaskListActivity extends TaskListActivity { private final class DraggableTaskAdapter extends TaskAdapter { - private DraggableTaskAdapter(ListFragment activity, int resource, + private DraggableTaskAdapter(TaskListActivity activity, int resource, Cursor c, AtomicReference query, boolean autoRequery, OnCompletedTaskListener onCompletedTaskListener) { super(activity, resource, c, query, autoRequery, diff --git a/astrid/src/com/todoroo/astrid/activity/ShareLinkActivity.java b/astrid/src/com/todoroo/astrid/activity/ShareLinkActivity.java index 25addc924..5d9496f61 100644 --- a/astrid/src/com/todoroo/astrid/activity/ShareLinkActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/ShareLinkActivity.java @@ -32,6 +32,7 @@ public final class ShareLinkActivity extends TaskListActivity { taskService.save(task); Intent intent = new Intent(getActivity(), TaskEditWrapperActivity.class); intent.putExtra(TaskEditActivity.TOKEN_ID, task.getId()); + intent.putExtra(TOKEN_FILTER, filter); startActivityForResult(intent, ACTIVITY_EDIT_TASK); } } diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index 7480d51e4..3152c16eb 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -372,6 +372,10 @@ public class TaskListActivity extends ListFragment implements OnScrollListener, contextMenuExtensionLoader.loadInNewThread(getActivity()); } + public Filter getFilter() { + return filter; + } + protected void addSyncRefreshMenuItem(Menu menu) { MenuItem item = menu.add(Menu.NONE, MENU_SYNC_ID, Menu.NONE, R.string.TLA_menu_sync); @@ -576,12 +580,14 @@ public class TaskListActivity extends ListFragment implements OnScrollListener, protected Intent getOnClickQuickAddIntent(Task t) { Intent intent = new Intent(getActivity(), TaskEditWrapperActivity.class); intent.putExtra(TaskEditActivity.TOKEN_ID, t.getId()); + intent.putExtra(TOKEN_FILTER, filter); return intent; } protected Intent getOnLongClickQuickAddIntent(Task t) { Intent intent = new Intent(getActivity(), TaskEditWrapperActivity.class); intent.putExtra(TaskEditActivity.TOKEN_ID, t.getId()); + intent.putExtra(TOKEN_FILTER, filter); return intent; } @@ -683,6 +689,7 @@ public class TaskListActivity extends ListFragment implements OnScrollListener, } catch (IllegalArgumentException e) { // might not have fully initialized } + getActivity().getIntent().putExtra(TOKEN_FILTER, filter); // Remember current filter for when activity is restarted (i.e. after orientation change) backgroundTimer.cancel(); } @@ -1334,6 +1341,7 @@ public class TaskListActivity extends ListFragment implements OnScrollListener, itemId = item.getGroupId(); intent = new Intent(getActivity(), TaskEditWrapperActivity.class); intent.putExtra(TaskEditActivity.TOKEN_ID, itemId); + intent.putExtra(TOKEN_FILTER, filter); startActivityForResult(intent, ACTIVITY_EDIT_TASK); transitionForTaskEdit(); return true; @@ -1357,6 +1365,7 @@ public class TaskListActivity extends ListFragment implements OnScrollListener, intent = new Intent(getActivity(), TaskEditWrapperActivity.class); intent.putExtra(TaskEditActivity.TOKEN_ID, clone.getId()); + intent.putExtra(TOKEN_FILTER, filter); startActivityForResult(intent, ACTIVITY_EDIT_TASK); transitionForTaskEdit(); diff --git a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java index 4e2c4843a..5f7df08ac 100644 --- a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java +++ b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java @@ -28,7 +28,6 @@ import android.graphics.Color; import android.graphics.Paint; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; -import android.support.v4.app.ListFragment; import android.text.Html; import android.text.Html.ImageGetter; import android.text.Html.TagHandler; @@ -139,7 +138,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { @Autowired private TaskService taskService; - protected final ListFragment fragment; + protected final TaskListActivity fragment; protected final HashMap completedItems = new HashMap(0); protected OnCompletedTaskListener onCompletedTaskListener = null; public boolean isFling = false; @@ -179,7 +178,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { * @param onCompletedTaskListener * task listener. can be null */ - public TaskAdapter(ListFragment fragment, int resource, + public TaskAdapter(TaskListActivity fragment, int resource, Cursor c, AtomicReference query, boolean autoRequery, OnCompletedTaskListener onCompletedTaskListener) { super(ContextManager.getContext(), c, autoRequery); @@ -930,6 +929,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { if(position == 0) { Intent intent = new Intent(fragment.getActivity(), TaskEditWrapperActivity.class); intent.putExtra(TaskEditActivity.TOKEN_ID, taskId); + intent.putExtra(TaskListActivity.TOKEN_FILTER, fragment.getFilter()); fragment.startActivityForResult(intent, TaskListActivity.ACTIVITY_EDIT_TASK); AndroidUtilities.callOverridePendingTransition(fragment.getActivity(), R.anim.slide_left_in, R.anim.slide_left_out); } else { @@ -990,6 +990,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { else { Intent intent = new Intent(fragment.getActivity(), TaskEditWrapperActivity.class); intent.putExtra(TaskEditActivity.TOKEN_ID, taskId); + intent.putExtra(TaskListActivity.TOKEN_FILTER, fragment.getFilter()); fragment.getActivity().startActivityForResult(intent, TaskListActivity.ACTIVITY_EDIT_TASK); AndroidUtilities.callOverridePendingTransition(fragment.getActivity(), R.anim.slide_left_in, R.anim.slide_left_out); } @@ -1017,6 +1018,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { if (actions != null && actions.size() == 0) { Intent editIntent = new Intent(fragment.getActivity(), TaskEditWrapperActivity.class); editIntent.putExtra(TaskEditActivity.TOKEN_ID, taskId); + editIntent.putExtra(TaskListActivity.TOKEN_FILTER, fragment.getFilter()); fragment.getActivity().startActivityForResult(editIntent, TaskListActivity.ACTIVITY_EDIT_TASK); AndroidUtilities.callOverridePendingTransition(fragment.getActivity(), R.anim.slide_left_in, R.anim.slide_left_out); }