diff --git a/AndroidManifest.xml b/AndroidManifest.xml index eed86b4fa..f11282aa0 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="71" + android:versionName="2.1.3"> diff --git a/src/com/mdt/rtm/ServiceImpl.java b/src/com/mdt/rtm/ServiceImpl.java index 21b61abfb..f76b5c1fd 100644 --- a/src/com/mdt/rtm/ServiceImpl.java +++ b/src/com/mdt/rtm/ServiceImpl.java @@ -476,7 +476,7 @@ public class ServiceImpl implements Service StringBuilder tagString = new StringBuilder(); if(tags != null) { for(int i = 0; i < tags.length; i++) { - tagString.append(tags[i]); + tagString.append(tags[i].replace(" ", "_")); if(i < tags.length - 1) tagString.append(","); } diff --git a/src/com/timsu/astrid/sync/RTMSyncService.java b/src/com/timsu/astrid/sync/RTMSyncService.java index 56a93c518..72720dbaa 100644 --- a/src/com/timsu/astrid/sync/RTMSyncService.java +++ b/src/com/timsu/astrid/sync/RTMSyncService.java @@ -251,6 +251,15 @@ public class RTMSyncService extends SynchronizationService { } } + /** Get a task proxy with default RTM values */ + private TaskProxy getDefaultTaskProxy() { + TaskProxy taskProxy = new TaskProxy(0, "", false); + taskProxy.progressPercentage = 0; + taskProxy.tags = new LinkedList(); + taskProxy.notes = ""; + return taskProxy; + } + /** Send changes for the given TaskProxy across the wire */ private void pushLocalTask(String timeline, TaskProxy task, TaskProxy remoteTask, SyncMapping mapping) throws ServiceException { @@ -263,7 +272,7 @@ public class RTMSyncService extends SynchronizationService { remoteTask = parseRemoteTask(id.listId, rtmTask); } if(remoteTask == null) - remoteTask = new TaskProxy(0, "", false); + remoteTask = getDefaultTaskProxy(); if(task.name != null && !task.name.equals(remoteTask.name)) rtmService.tasks_setName(timeline, id.listId, id.taskSeriesId, @@ -277,7 +286,7 @@ public class RTMSyncService extends SynchronizationService { if(dueDate == null) dueDate = task.preferredDueDate; if(dueDate != remoteTask.definiteDueDate && - (dueDate == null || !dueDate.equals(remoteTask.definiteDueDate))) + !dueDate.equals(remoteTask.definiteDueDate)) rtmService.tasks_setDueDate(timeline, id.listId, id.taskSeriesId, id.taskId, dueDate, dueDate != null); @@ -308,7 +317,8 @@ public class RTMSyncService extends SynchronizationService { } // estimated time - if(task.estimatedSeconds != null && !task.estimatedSeconds.equals(remoteTask.estimatedSeconds)) { + if(task.estimatedSeconds != remoteTask.estimatedSeconds && + !task.estimatedSeconds.equals(remoteTask.estimatedSeconds)) { String estimation; int estimatedSeconds = task.estimatedSeconds; if(estimatedSeconds == 0)