diff --git a/src/com/timsu/astrid/sync/SynchronizationProvider.java b/src/com/timsu/astrid/sync/SynchronizationProvider.java index 5e0a11ef8..0d6f62ec8 100644 --- a/src/com/timsu/astrid/sync/SynchronizationProvider.java +++ b/src/com/timsu/astrid/sync/SynchronizationProvider.java @@ -289,6 +289,8 @@ public abstract class SynchronizationProvider { remoteConflict = data.remoteChangeMap.get(mapping.getTask()); localTask.mergeWithOther(remoteConflict); stats.mergedTasks++; + } else { + stats.remoteUpdatedTasks++; } try { @@ -308,8 +310,7 @@ public abstract class SynchronizationProvider { TaskProxy newTask = helper.refetchTask(remoteConflict); remoteTasks.remove(remoteConflict); remoteTasks.add(newTask); - } else - stats.remoteUpdatedTasks++; + } } // 4. REMOTE SYNC load remote information diff --git a/src/com/timsu/astrid/sync/Synchronizer.java b/src/com/timsu/astrid/sync/Synchronizer.java index f3c41850f..96100e8d4 100644 --- a/src/com/timsu/astrid/sync/Synchronizer.java +++ b/src/com/timsu/astrid/sync/Synchronizer.java @@ -84,11 +84,14 @@ public class Synchronizer { /** Clears tokens of activated services */ public static void clearUserData(Activity activity) { + Synchronizer synchronizer = new Synchronizer(false); for(ServiceWrapper serviceWrapper : ServiceWrapper.values()) { if(serviceWrapper.isActivated(activity)) { + serviceWrapper.service.synchronizer = synchronizer; serviceWrapper.service.clearPersonalData(activity); } } + synchronizer.closeControllers(); } // --- internal synchronization logic