From 5cbd323bba39dbb7b20313e21c8573d3f3ff631c Mon Sep 17 00:00:00 2001 From: Tim Su Date: Sun, 12 Sep 2010 20:14:27 +0800 Subject: [PATCH] Fixed RTM duplicated tasks with repeating tasks, priority not being set, and retried method invocation not working --- astrid/rmilk-src/org/weloveastrid/rmilk/api/Invoker.java | 1 + .../org/weloveastrid/rmilk/api/data/RtmTask.java | 2 +- .../org/weloveastrid/rmilk/sync/MilkSyncProvider.java | 8 +++++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/astrid/rmilk-src/org/weloveastrid/rmilk/api/Invoker.java b/astrid/rmilk-src/org/weloveastrid/rmilk/api/Invoker.java index ebbc1518a..1d451c654 100644 --- a/astrid/rmilk-src/org/weloveastrid/rmilk/api/Invoker.java +++ b/astrid/rmilk-src/org/weloveastrid/rmilk/api/Invoker.java @@ -176,6 +176,7 @@ public class Invoker { } catch (InterruptedException e) { // ignore } + response.getEntity().consumeContent(); return invoke(true, params); } diff --git a/astrid/rmilk-src/org/weloveastrid/rmilk/api/data/RtmTask.java b/astrid/rmilk-src/org/weloveastrid/rmilk/api/data/RtmTask.java index 147ead68d..b631fe448 100644 --- a/astrid/rmilk-src/org/weloveastrid/rmilk/api/data/RtmTask.java +++ b/astrid/rmilk-src/org/weloveastrid/rmilk/api/data/RtmTask.java @@ -59,7 +59,7 @@ public class RtmTask High, Medium, Low, None; public static Priority values(Integer value) { - value = Math.max(values().length - 1, value); + value = Math.min(values().length - 1, value); return values()[value]; } } diff --git a/astrid/rmilk-src/org/weloveastrid/rmilk/sync/MilkSyncProvider.java b/astrid/rmilk-src/org/weloveastrid/rmilk/sync/MilkSyncProvider.java index cf84df443..49fb28d91 100644 --- a/astrid/rmilk-src/org/weloveastrid/rmilk/sync/MilkSyncProvider.java +++ b/astrid/rmilk-src/org/weloveastrid/rmilk/sync/MilkSyncProvider.java @@ -485,7 +485,13 @@ public class MilkSyncProvider extends SyncProvider { if(remerge) { remote = pull(local); remote.task.setId(local.task.getId()); - write(remote); + + // transform local into remote + local.task = remote.task; + local.listId = remote.listId; + local.taskId = remote.taskId; + local.repeating = remote.repeating; + local.taskSeriesId = remote.taskSeriesId; } }