Cleaned up the edit task callback and listener and fixed a bug where edit activity sometimes wouldn't launch

pull/14/head
Sam Bosley 14 years ago
parent d62a573cb8
commit 084bc87e7d

@ -167,8 +167,19 @@ public class AstridWrapperActivity extends FragmentActivity
} }
@Override @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 @Override

@ -225,7 +225,7 @@ public class TaskListActivity extends ListFragment implements OnScrollListener,
* that it does during the onAttach() callback * that it does during the onAttach() callback
*/ */
public interface OnTaskListItemClickedListener { public interface OnTaskListItemClickedListener {
public void onTaskListItemClicked(int category, int position); public void onTaskListItemClicked(long taskId);
} }
@Override @Override
@ -371,10 +371,6 @@ 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);
@ -1328,11 +1324,7 @@ public class TaskListActivity extends ListFragment implements OnScrollListener,
case CONTEXT_MENU_EDIT_TASK_ID: { case CONTEXT_MENU_EDIT_TASK_ID: {
itemId = item.getGroupId(); itemId = item.getGroupId();
intent = new Intent(getActivity(), TaskEditWrapperActivity.class); mListener.onTaskListItemClicked(itemId);
intent.putExtra(TaskEditActivity.TOKEN_ID, itemId);
intent.putExtra(TOKEN_FILTER, filter);
startActivityForResult(intent, ACTIVITY_EDIT_TASK);
transitionForTaskEdit();
return true; return true;
} }
@ -1402,6 +1394,10 @@ public class TaskListActivity extends ListFragment implements OnScrollListener,
} }
} }
public void onTaskListItemClicked(long taskId) {
mListener.onTaskListItemClicked(taskId);
}
@SuppressWarnings("nls") @SuppressWarnings("nls")
@Override @Override
public void gesturePerformed(String gesture) { public void gesturePerformed(String gesture) {

@ -17,9 +17,7 @@ import java.util.concurrent.atomic.AtomicReference;
import org.json.JSONException; import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
import android.app.Activity;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; 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.DateUtilities;
import com.todoroo.andlib.utility.Pair; import com.todoroo.andlib.utility.Pair;
import com.todoroo.andlib.utility.Preferences; 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.activity.TaskListActivity;
import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.TaskAction; import com.todoroo.astrid.api.TaskAction;
@ -1019,19 +1015,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
} }
private void editTask(long taskId) { private void editTask(long taskId) {
Activity activity = fragment.getActivity(); fragment.onTaskListItemClicked(taskId);
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);
}
} }
/** /**

Loading…
Cancel
Save