diff --git a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksListFragment.java b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksListFragment.java index aba820a0d..311e49f9c 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksListFragment.java +++ b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksListFragment.java @@ -16,7 +16,6 @@ import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.astrid.dao.StoreObjectDao; import com.todoroo.astrid.data.StoreObject; import com.todoroo.astrid.data.Task; -import com.todoroo.astrid.gtasks.sync.GtasksSyncService; import com.todoroo.astrid.service.SyncV2Service; import com.todoroo.astrid.subtasks.OrderedListFragmentHelper; import com.todoroo.astrid.subtasks.SubtasksListFragment; @@ -35,8 +34,6 @@ public class GtasksListFragment extends SubtasksListFragment { @Autowired private GtasksMetadataService gtasksMetadataService; - @Autowired private GtasksSyncService gtasksSyncService; - @Autowired private GtasksPreferenceService gtasksPreferenceService; @Autowired private SyncV2Service syncService; @@ -54,13 +51,7 @@ public class GtasksListFragment extends SubtasksListFragment { @Override protected OrderedListFragmentHelper createFragmentHelper() { - return new OrderedListFragmentHelper(this, gtasksTaskListUpdater) { - @Override - protected void onMetadataChanged(long targetTaskId) { - gtasksSyncService.triggerMoveForMetadata(gtasksMetadataService. - getTaskMetadata(targetTaskId)); - } - }; + return new OrderedListFragmentHelper(this, gtasksTaskListUpdater); } @Override diff --git a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksTaskListUpdater.java b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksTaskListUpdater.java index bb6aca208..cba7d1cdd 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksTaskListUpdater.java +++ b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksTaskListUpdater.java @@ -21,6 +21,7 @@ import com.todoroo.astrid.dao.MetadataDao; import com.todoroo.astrid.data.Metadata; import com.todoroo.astrid.data.StoreObject; import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.gtasks.sync.GtasksSyncService; import com.todoroo.astrid.subtasks.OrderedListUpdater; public class GtasksTaskListUpdater extends OrderedListUpdater { @@ -36,6 +37,7 @@ public class GtasksTaskListUpdater extends OrderedListUpdater { @Autowired private GtasksListService gtasksListService; @Autowired private GtasksMetadataService gtasksMetadataService; + @Autowired private GtasksSyncService gtasksSyncService; @Autowired private MetadataDao metadataDao; public GtasksTaskListUpdater() { @@ -80,6 +82,11 @@ public class GtasksTaskListUpdater extends OrderedListUpdater { gtasksMetadataService.iterateThroughList(list, iterator); } + @Override + protected void onMetadataChanged(Metadata metadata) { + gtasksSyncService.triggerMoveForMetadata(metadata); + } + // --- used during synchronization /** diff --git a/astrid/plugin-src/com/todoroo/astrid/gtasks/sync/GtasksSyncService.java b/astrid/plugin-src/com/todoroo/astrid/gtasks/sync/GtasksSyncService.java index d53f4d5c6..527aba5b6 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gtasks/sync/GtasksSyncService.java +++ b/astrid/plugin-src/com/todoroo/astrid/gtasks/sync/GtasksSyncService.java @@ -21,7 +21,6 @@ import com.todoroo.astrid.data.Task; import com.todoroo.astrid.gtasks.GtasksMetadata; import com.todoroo.astrid.gtasks.GtasksMetadataService; import com.todoroo.astrid.gtasks.GtasksPreferenceService; -import com.todoroo.astrid.gtasks.GtasksTaskListUpdater; import com.todoroo.astrid.gtasks.api.CreateRequest; import com.todoroo.astrid.gtasks.api.GtasksApiUtilities; import com.todoroo.astrid.gtasks.api.GtasksInvoker; @@ -36,7 +35,6 @@ public final class GtasksSyncService { @Autowired GtasksMetadataService gtasksMetadataService; @Autowired TaskDao taskDao; @Autowired GtasksPreferenceService gtasksPreferenceService; - @Autowired GtasksTaskListUpdater gtasksTaskListUpdater; public GtasksSyncService() { DependencyInjectionService.getInstance().inject(this); @@ -109,12 +107,8 @@ public final class GtasksSyncService { }); } - private static final Property[] TASK_PROPERTIES = - { Task.TITLE, - Task.NOTES, - Task.DUE_DATE, - Task.COMPLETION_DATE, - Task.DELETION_DATE }; + private static final Property[] TASK_PROPERTIES = { Task.ID, Task.TITLE, + Task.NOTES, Task.DUE_DATE, Task.COMPLETION_DATE, Task.DELETION_DATE }; /** * Checks to see if any of the values changed are among the properties we sync @@ -124,7 +118,7 @@ public final class GtasksSyncService { */ private boolean checkValuesForProperties(ContentValues values, Property[] properties) { for (Property property : properties) { - if (values.containsKey(property.name)) + if (property != Task.ID && values.containsKey(property.name)) return true; } return false; diff --git a/astrid/plugin-src/com/todoroo/astrid/subtasks/OrderedListFragmentHelper.java b/astrid/plugin-src/com/todoroo/astrid/subtasks/OrderedListFragmentHelper.java index cba78b6bc..615d41b32 100644 --- a/astrid/plugin-src/com/todoroo/astrid/subtasks/OrderedListFragmentHelper.java +++ b/astrid/plugin-src/com/todoroo/astrid/subtasks/OrderedListFragmentHelper.java @@ -142,7 +142,6 @@ public class OrderedListFragmentHelper { } fragment.loadTaskListContent(true); - onMetadataChanged(targetTaskId); } }; @@ -166,7 +165,6 @@ public class OrderedListFragmentHelper { Log.e("drag", "Indent Error", e); //$NON-NLS-1$ //$NON-NLS-2$ } fragment.loadTaskListContent(true); - onMetadataChanged(targetTaskId); } }; @@ -204,13 +202,6 @@ public class OrderedListFragmentHelper { return taskAdapter; } - /** - * @param targetTaskId - */ - protected void onMetadataChanged(long targetTaskId) { - // hook - } - private final class DraggableTaskAdapter extends TaskAdapter { private DraggableTaskAdapter(TaskListFragment activity, int resource, diff --git a/astrid/plugin-src/com/todoroo/astrid/subtasks/OrderedListUpdater.java b/astrid/plugin-src/com/todoroo/astrid/subtasks/OrderedListUpdater.java index 29f18bd57..0c02bc8da 100644 --- a/astrid/plugin-src/com/todoroo/astrid/subtasks/OrderedListUpdater.java +++ b/astrid/plugin-src/com/todoroo/astrid/subtasks/OrderedListUpdater.java @@ -54,6 +54,13 @@ abstract public class OrderedListUpdater { // } + /** + * @param targetTaskId + */ + protected void onMetadataChanged(Metadata metadata) { + // + } + /** * @param list * @param taskId @@ -295,6 +302,8 @@ abstract public class OrderedListUpdater { taskContainer.setValue(Task.MODIFICATION_DATE, DateUtilities.now()); taskContainer.setValue(Task.DETAILS_DATE, DateUtilities.now()); PluginServices.getTaskService().save(taskContainer); + taskContainer.clear(); + onMetadataChanged(metadata); } // --- task cascading operations