Pass the current filter as an extra in the intent when launching the edit activity

pull/14/head
Sam Bosley 13 years ago
parent 67c2776472
commit 03c7d2eabb

@ -6,7 +6,6 @@ import java.util.concurrent.atomic.AtomicReference;
import android.database.Cursor; import android.database.Cursor;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.view.View.OnTouchListener; 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.Property.IntegerProperty;
import com.todoroo.andlib.data.TodorooCursor; import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.astrid.adapter.TaskAdapter; import com.todoroo.astrid.adapter.TaskAdapter;
import com.todoroo.astrid.adapter.TaskAdapter.OnCompletedTaskListener;
import com.todoroo.astrid.core.SortHelper; import com.todoroo.astrid.core.SortHelper;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
@ -107,7 +105,7 @@ public class DraggableTaskListActivity extends TaskListActivity {
private final class DraggableTaskAdapter extends TaskAdapter { private final class DraggableTaskAdapter extends TaskAdapter {
private DraggableTaskAdapter(ListFragment activity, int resource, private DraggableTaskAdapter(TaskListActivity activity, int resource,
Cursor c, AtomicReference<String> query, boolean autoRequery, Cursor c, AtomicReference<String> query, boolean autoRequery,
OnCompletedTaskListener onCompletedTaskListener) { OnCompletedTaskListener onCompletedTaskListener) {
super(activity, resource, c, query, autoRequery, super(activity, resource, c, query, autoRequery,

@ -32,6 +32,7 @@ public final class ShareLinkActivity extends TaskListActivity {
taskService.save(task); taskService.save(task);
Intent intent = new Intent(getActivity(), TaskEditWrapperActivity.class); Intent intent = new Intent(getActivity(), TaskEditWrapperActivity.class);
intent.putExtra(TaskEditActivity.TOKEN_ID, task.getId()); intent.putExtra(TaskEditActivity.TOKEN_ID, task.getId());
intent.putExtra(TOKEN_FILTER, filter);
startActivityForResult(intent, ACTIVITY_EDIT_TASK); startActivityForResult(intent, ACTIVITY_EDIT_TASK);
} }
} }

@ -372,6 +372,10 @@ public class TaskListActivity extends ListFragment implements OnScrollListener,
contextMenuExtensionLoader.loadInNewThread(getActivity()); contextMenuExtensionLoader.loadInNewThread(getActivity());
} }
public Filter getFilter() {
return filter;
}
protected void addSyncRefreshMenuItem(Menu menu) { protected void addSyncRefreshMenuItem(Menu menu) {
MenuItem item = menu.add(Menu.NONE, MENU_SYNC_ID, Menu.NONE, MenuItem item = menu.add(Menu.NONE, MENU_SYNC_ID, Menu.NONE,
R.string.TLA_menu_sync); R.string.TLA_menu_sync);
@ -576,12 +580,14 @@ public class TaskListActivity extends ListFragment implements OnScrollListener,
protected Intent getOnClickQuickAddIntent(Task t) { protected Intent getOnClickQuickAddIntent(Task t) {
Intent intent = new Intent(getActivity(), TaskEditWrapperActivity.class); Intent intent = new Intent(getActivity(), TaskEditWrapperActivity.class);
intent.putExtra(TaskEditActivity.TOKEN_ID, t.getId()); intent.putExtra(TaskEditActivity.TOKEN_ID, t.getId());
intent.putExtra(TOKEN_FILTER, filter);
return intent; return intent;
} }
protected Intent getOnLongClickQuickAddIntent(Task t) { protected Intent getOnLongClickQuickAddIntent(Task t) {
Intent intent = new Intent(getActivity(), TaskEditWrapperActivity.class); Intent intent = new Intent(getActivity(), TaskEditWrapperActivity.class);
intent.putExtra(TaskEditActivity.TOKEN_ID, t.getId()); intent.putExtra(TaskEditActivity.TOKEN_ID, t.getId());
intent.putExtra(TOKEN_FILTER, filter);
return intent; return intent;
} }
@ -683,6 +689,7 @@ public class TaskListActivity extends ListFragment implements OnScrollListener,
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
// might not have fully initialized // 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(); backgroundTimer.cancel();
} }
@ -1334,6 +1341,7 @@ public class TaskListActivity extends ListFragment implements OnScrollListener,
itemId = item.getGroupId(); itemId = item.getGroupId();
intent = new Intent(getActivity(), TaskEditWrapperActivity.class); intent = new Intent(getActivity(), TaskEditWrapperActivity.class);
intent.putExtra(TaskEditActivity.TOKEN_ID, itemId); intent.putExtra(TaskEditActivity.TOKEN_ID, itemId);
intent.putExtra(TOKEN_FILTER, filter);
startActivityForResult(intent, ACTIVITY_EDIT_TASK); startActivityForResult(intent, ACTIVITY_EDIT_TASK);
transitionForTaskEdit(); transitionForTaskEdit();
return true; return true;
@ -1357,6 +1365,7 @@ public class TaskListActivity extends ListFragment implements OnScrollListener,
intent = new Intent(getActivity(), TaskEditWrapperActivity.class); intent = new Intent(getActivity(), TaskEditWrapperActivity.class);
intent.putExtra(TaskEditActivity.TOKEN_ID, clone.getId()); intent.putExtra(TaskEditActivity.TOKEN_ID, clone.getId());
intent.putExtra(TOKEN_FILTER, filter);
startActivityForResult(intent, ACTIVITY_EDIT_TASK); startActivityForResult(intent, ACTIVITY_EDIT_TASK);
transitionForTaskEdit(); transitionForTaskEdit();

@ -28,7 +28,6 @@ import android.graphics.Color;
import android.graphics.Paint; import android.graphics.Paint;
import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.support.v4.app.ListFragment;
import android.text.Html; import android.text.Html;
import android.text.Html.ImageGetter; import android.text.Html.ImageGetter;
import android.text.Html.TagHandler; import android.text.Html.TagHandler;
@ -139,7 +138,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
@Autowired @Autowired
private TaskService taskService; private TaskService taskService;
protected final ListFragment fragment; protected final TaskListActivity fragment;
protected final HashMap<Long, Boolean> completedItems = new HashMap<Long, Boolean>(0); protected final HashMap<Long, Boolean> completedItems = new HashMap<Long, Boolean>(0);
protected OnCompletedTaskListener onCompletedTaskListener = null; protected OnCompletedTaskListener onCompletedTaskListener = null;
public boolean isFling = false; public boolean isFling = false;
@ -179,7 +178,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
* @param onCompletedTaskListener * @param onCompletedTaskListener
* task listener. can be null * task listener. can be null
*/ */
public TaskAdapter(ListFragment fragment, int resource, public TaskAdapter(TaskListActivity fragment, int resource,
Cursor c, AtomicReference<String> query, boolean autoRequery, Cursor c, AtomicReference<String> query, boolean autoRequery,
OnCompletedTaskListener onCompletedTaskListener) { OnCompletedTaskListener onCompletedTaskListener) {
super(ContextManager.getContext(), c, autoRequery); super(ContextManager.getContext(), c, autoRequery);
@ -930,6 +929,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
if(position == 0) { if(position == 0) {
Intent intent = new Intent(fragment.getActivity(), TaskEditWrapperActivity.class); Intent intent = new Intent(fragment.getActivity(), TaskEditWrapperActivity.class);
intent.putExtra(TaskEditActivity.TOKEN_ID, taskId); intent.putExtra(TaskEditActivity.TOKEN_ID, taskId);
intent.putExtra(TaskListActivity.TOKEN_FILTER, fragment.getFilter());
fragment.startActivityForResult(intent, TaskListActivity.ACTIVITY_EDIT_TASK); fragment.startActivityForResult(intent, TaskListActivity.ACTIVITY_EDIT_TASK);
AndroidUtilities.callOverridePendingTransition(fragment.getActivity(), R.anim.slide_left_in, R.anim.slide_left_out); AndroidUtilities.callOverridePendingTransition(fragment.getActivity(), R.anim.slide_left_in, R.anim.slide_left_out);
} else { } else {
@ -990,6 +990,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
else { else {
Intent intent = new Intent(fragment.getActivity(), TaskEditWrapperActivity.class); Intent intent = new Intent(fragment.getActivity(), TaskEditWrapperActivity.class);
intent.putExtra(TaskEditActivity.TOKEN_ID, taskId); intent.putExtra(TaskEditActivity.TOKEN_ID, taskId);
intent.putExtra(TaskListActivity.TOKEN_FILTER, fragment.getFilter());
fragment.getActivity().startActivityForResult(intent, TaskListActivity.ACTIVITY_EDIT_TASK); fragment.getActivity().startActivityForResult(intent, TaskListActivity.ACTIVITY_EDIT_TASK);
AndroidUtilities.callOverridePendingTransition(fragment.getActivity(), R.anim.slide_left_in, R.anim.slide_left_out); 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) { if (actions != null && actions.size() == 0) {
Intent editIntent = new Intent(fragment.getActivity(), TaskEditWrapperActivity.class); Intent editIntent = new Intent(fragment.getActivity(), TaskEditWrapperActivity.class);
editIntent.putExtra(TaskEditActivity.TOKEN_ID, taskId); editIntent.putExtra(TaskEditActivity.TOKEN_ID, taskId);
editIntent.putExtra(TaskListActivity.TOKEN_FILTER, fragment.getFilter());
fragment.getActivity().startActivityForResult(editIntent, TaskListActivity.ACTIVITY_EDIT_TASK); fragment.getActivity().startActivityForResult(editIntent, TaskListActivity.ACTIVITY_EDIT_TASK);
AndroidUtilities.callOverridePendingTransition(fragment.getActivity(), R.anim.slide_left_in, R.anim.slide_left_out); AndroidUtilities.callOverridePendingTransition(fragment.getActivity(), R.anim.slide_left_in, R.anim.slide_left_out);
} }

Loading…
Cancel
Save