diff --git a/api/src/com/todoroo/astrid/data/Task.java b/api/src/com/todoroo/astrid/data/Task.java index bf50dcae2..18ef5b577 100644 --- a/api/src/com/todoroo/astrid/data/Task.java +++ b/api/src/com/todoroo/astrid/data/Task.java @@ -454,6 +454,11 @@ public final class Task extends RemoteModel { return hasDueTime(getValue(Task.DUE_DATE)); } + public boolean isEditable() { + return !getFlag(Task.FLAGS, Task.FLAG_IS_READONLY) && + !(getFlag(Task.FLAGS, Task.FLAG_PUBLIC) && getValue(Task.USER_ID) != Task.USER_ID_SELF); + } + /** * Checks whether provided due date has a due time or only a date */ diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java b/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java index c52d6803e..303ff5db4 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java @@ -352,7 +352,7 @@ public class TaskListFragment extends ListFragment implements OnScrollListener, if(task.isDeleted()) return; - if (!task.getFlag(Task.FLAGS, Task.FLAG_IS_READONLY)) { + if (task.isEditable()) { onTaskListItemClicked(id); } } diff --git a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java index 2c28aecbd..5f3ab7f0d 100644 --- a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java +++ b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java @@ -1048,8 +1048,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { return; long taskId = viewHolder.task.getId(); - if (!viewHolder.task.getFlag(Task.FLAGS, Task.FLAG_IS_READONLY) && - !(viewHolder.task.getFlag(Task.FLAGS, Task.FLAG_PUBLIC) && viewHolder.task.getValue(Task.USER_ID) != Task.USER_ID_SELF)) { + if (viewHolder.task.isEditable()) { editTask(taskId); } }