Merge with lp:~david-ergo/astrid/removed-attributes-sync-fix

------------------------------------------------------------
Use --include-merges or -n0 to see merged revisions.
pull/14/head
Tim Su 16 years ago
parent ebe146783f
commit 6346066521

@ -428,8 +428,8 @@ public abstract class SynchronizationProvider {
taskController.saveTask(task, true); taskController.saveTask(task, true);
// save tags // save tags
if(remoteTask.tags != null) {
LinkedList<TagIdentifier> taskTags = tagController.getTaskTags(task.getTaskIdentifier()); LinkedList<TagIdentifier> taskTags = tagController.getTaskTags(task.getTaskIdentifier());
if(remoteTask.tags != null) {
HashSet<TagIdentifier> tagsToAdd = new HashSet<TagIdentifier>(); HashSet<TagIdentifier> tagsToAdd = new HashSet<TagIdentifier>();
for(String tag : remoteTask.tags) { for(String tag : remoteTask.tags) {
String tagLower = tag.toLowerCase(); String tagLower = tag.toLowerCase();
@ -449,6 +449,11 @@ public abstract class SynchronizationProvider {
tagController.removeTag(task.getTaskIdentifier(), tagId); tagController.removeTag(task.getTaskIdentifier(), tagId);
for(TagIdentifier tagId : tagsToAdd) for(TagIdentifier tagId : tagsToAdd)
tagController.addTag(task.getTaskIdentifier(), tagId); tagController.addTag(task.getTaskIdentifier(), tagId);
} else {
// remove existing tags
for(TagIdentifier tagId : taskTags) {
tagController.removeTag(task.getTaskIdentifier(), tagId);
}
} }
stats.localUpdatedTasks++; stats.localUpdatedTasks++;

@ -171,6 +171,8 @@ public class TaskProxy {
task.setName(name); task.setName(name);
if(notes != null) if(notes != null)
task.setNotes(notes); task.setNotes(notes);
else
task.setNotes("");
if(importance != null) if(importance != null)
task.setImportance(importance); task.setImportance(importance);
if(progressPercentage != null) if(progressPercentage != null)
@ -192,20 +194,19 @@ public class TaskProxy {
else else
task.setDefiniteDueDate(dueDate); task.setDefiniteDueDate(dueDate);
} else { } else {
if(definiteDueDate != null)
task.setDefiniteDueDate(definiteDueDate); task.setDefiniteDueDate(definiteDueDate);
if(preferredDueDate != null)
task.setPreferredDueDate(preferredDueDate); task.setPreferredDueDate(preferredDueDate);
} }
if(hiddenUntil != null) if(hiddenUntil != null)
task.setHiddenUntil(hiddenUntil); task.setHiddenUntil(hiddenUntil);
if(estimatedSeconds != null)
task.setEstimatedSeconds(estimatedSeconds); task.setEstimatedSeconds(estimatedSeconds);
if(elapsedSeconds != null) if(elapsedSeconds != null)
task.setElapsedSeconds(elapsedSeconds); task.setElapsedSeconds(elapsedSeconds);
if(syncOnComplete != null) if(syncOnComplete != null)
task.setFlags(task.getFlags() | TaskModelForSync.FLAG_SYNC_ON_COMPLETE); task.setFlags(task.getFlags() | TaskModelForSync.FLAG_SYNC_ON_COMPLETE);
else
task.setFlags(task.getFlags() & ~TaskModelForSync.FLAG_SYNC_ON_COMPLETE);
// this is inaccurate. =/ // this is inaccurate. =/
if(repeatInfo != null) { if(repeatInfo != null) {

Loading…
Cancel
Save