diff --git a/astrid/src/com/todoroo/astrid/service/TaskService.java b/astrid/src/com/todoroo/astrid/service/TaskService.java index 503bc7ecd..42a2f4d51 100644 --- a/astrid/src/com/todoroo/astrid/service/TaskService.java +++ b/astrid/src/com/todoroo/astrid/service/TaskService.java @@ -394,9 +394,9 @@ public class TaskService { return clone.getId(); } - /** - * Create task from the given content values, saving it. + * Create task from the given content values, saving it. This version + * doesn't need to start with a base task model. * * @param values * @param title @@ -407,6 +407,21 @@ public class TaskService { public static Task createWithValues(ContentValues values, String title, TaskService taskService, MetadataService metadataService, String...flags) { Task task = new Task(); + return createWithValues(task, values, title, taskService, metadataService); + } + + /** + * Create task from the given content values, saving it. + * + * @param task base task to start with + * @param values + * @param title + * @param taskService + * @param metadataService + * @return + */ + public static Task createWithValues(Task task, ContentValues values, String title, + TaskService taskService, MetadataService metadataService) { if (title != null) task.setValue(Task.TITLE, title); diff --git a/astrid/src/com/todoroo/astrid/ui/QuickAddBar.java b/astrid/src/com/todoroo/astrid/ui/QuickAddBar.java index 0357c20e9..ea321cafa 100644 --- a/astrid/src/com/todoroo/astrid/ui/QuickAddBar.java +++ b/astrid/src/com/todoroo/astrid/ui/QuickAddBar.java @@ -269,20 +269,7 @@ public class QuickAddBar extends LinearLayout { return null; } - boolean quickAddChanges = repeatControl.isRecurrenceSet() || - deadlineControl.isDeadlineSet() || - !assignedToMe; // Will the quickadd save have any effect? - - ArrayList flags = new ArrayList(); - - if (quickAddChanges) - flags.add(SyncFlags.ACTFM_SUPPRESS_SYNC); - - if (deadlineControl.isDeadlineSet()) // If deadline is set, second save will trigger push - flags.add(SyncFlags.GTASKS_SUPPRESS_SYNC); - - Task task = TaskService.createWithValues(fragment.getFilter().valuesForNewTasks, title, - taskService, metadataService, flags.toArray(new String[flags.size()])); + Task task = new Task(); if (repeatControl.isRecurrenceSet()) repeatControl.writeToModel(task); @@ -296,7 +283,9 @@ public class QuickAddBar extends LinearLayout { peopleControl.setTask(task); peopleControl.saveSharingSettings(null); } - taskService.save(task); + + TaskService.createWithValues(task, fragment.getFilter().valuesForNewTasks, title, + taskService, metadataService); String assignedTo = peopleControl.getAssignedToString();