diff --git a/astrid/src/com/todoroo/astrid/activity/AstridWrapperActivity.java b/astrid/src/com/todoroo/astrid/activity/AstridWrapperActivity.java index ec945c208..2c9b42baa 100644 --- a/astrid/src/com/todoroo/astrid/activity/AstridWrapperActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/AstridWrapperActivity.java @@ -167,8 +167,19 @@ public class AstridWrapperActivity extends FragmentActivity } @Override - public void onTaskListItemClicked(int category, int position) { - + public void onTaskListItemClicked(long taskId) { + Intent intent = new Intent(this, TaskEditWrapperActivity.class); + intent.putExtra(TaskEditActivity.TOKEN_ID, taskId); + if (intent.hasExtra(TaskListActivity.TOKEN_FILTER)) + intent.putExtra(TaskListActivity.TOKEN_FILTER, intent.getParcelableExtra(TaskListActivity.TOKEN_FILTER)); + if (this instanceof TaskEditWrapperActivity) { + TaskEditActivity editActivity = getTaskEditFragment(); + editActivity.save(true); + editActivity.repopulateFromScratch(intent); + } else { + startActivityForResult(intent, TaskListActivity.ACTIVITY_EDIT_TASK); + AndroidUtilities.callOverridePendingTransition(this, R.anim.slide_left_in, R.anim.slide_left_out); + } } @Override diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index 9862d17d9..27458c826 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -225,7 +225,7 @@ public class TaskListActivity extends ListFragment implements OnScrollListener, * that it does during the onAttach() callback */ public interface OnTaskListItemClickedListener { - public void onTaskListItemClicked(int category, int position); + public void onTaskListItemClicked(long taskId); } @Override @@ -371,10 +371,6 @@ 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); @@ -1328,11 +1324,7 @@ public class TaskListActivity extends ListFragment implements OnScrollListener, case CONTEXT_MENU_EDIT_TASK_ID: { 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(); + mListener.onTaskListItemClicked(itemId); return true; } @@ -1402,6 +1394,10 @@ public class TaskListActivity extends ListFragment implements OnScrollListener, } } + public void onTaskListItemClicked(long taskId) { + mListener.onTaskListItemClicked(taskId); + } + @SuppressWarnings("nls") @Override public void gesturePerformed(String gesture) { diff --git a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java index 6449e6efd..5ec2cb975 100644 --- a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java +++ b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java @@ -17,9 +17,7 @@ import java.util.concurrent.atomic.AtomicReference; import org.json.JSONException; import org.json.JSONObject; -import android.app.Activity; import android.content.BroadcastReceiver; -import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; @@ -71,8 +69,6 @@ import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.Pair; import com.todoroo.andlib.utility.Preferences; -import com.todoroo.astrid.activity.TaskEditActivity; -import com.todoroo.astrid.activity.TaskEditWrapperActivity; import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.TaskAction; @@ -1019,19 +1015,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { } private void editTask(long taskId) { - Activity activity = fragment.getActivity(); - Intent intent = (Intent) activity.getIntent().clone(); - intent.setComponent(new ComponentName(activity, TaskEditWrapperActivity.class)); - intent.putExtra(TaskEditActivity.TOKEN_ID, taskId); - intent.putExtra(TaskListActivity.TOKEN_FILTER, fragment.getFilter()); - if (activity instanceof TaskEditWrapperActivity) { - TaskEditActivity editActivity = ((TaskEditWrapperActivity) activity).getTaskEditFragment(); - editActivity.save(true); - editActivity.repopulateFromScratch(intent); - } else { - fragment.startActivityForResult(intent, TaskListActivity.ACTIVITY_EDIT_TASK); - AndroidUtilities.callOverridePendingTransition(fragment.getActivity(), R.anim.slide_left_in, R.anim.slide_left_out); - } + fragment.onTaskListItemClicked(taskId); } /**