Fix bug where clear personal data would crash Astrid. Also updated the sync stat algorithm.

pull/14/head
Tim Su 16 years ago
parent 0031ca9d82
commit 4540583ff0

@ -289,6 +289,8 @@ public abstract class SynchronizationProvider {
remoteConflict = data.remoteChangeMap.get(mapping.getTask()); remoteConflict = data.remoteChangeMap.get(mapping.getTask());
localTask.mergeWithOther(remoteConflict); localTask.mergeWithOther(remoteConflict);
stats.mergedTasks++; stats.mergedTasks++;
} else {
stats.remoteUpdatedTasks++;
} }
try { try {
@ -308,8 +310,7 @@ public abstract class SynchronizationProvider {
TaskProxy newTask = helper.refetchTask(remoteConflict); TaskProxy newTask = helper.refetchTask(remoteConflict);
remoteTasks.remove(remoteConflict); remoteTasks.remove(remoteConflict);
remoteTasks.add(newTask); remoteTasks.add(newTask);
} else }
stats.remoteUpdatedTasks++;
} }
// 4. REMOTE SYNC load remote information // 4. REMOTE SYNC load remote information

@ -84,11 +84,14 @@ public class Synchronizer {
/** Clears tokens of activated services */ /** Clears tokens of activated services */
public static void clearUserData(Activity activity) { public static void clearUserData(Activity activity) {
Synchronizer synchronizer = new Synchronizer(false);
for(ServiceWrapper serviceWrapper : ServiceWrapper.values()) { for(ServiceWrapper serviceWrapper : ServiceWrapper.values()) {
if(serviceWrapper.isActivated(activity)) { if(serviceWrapper.isActivated(activity)) {
serviceWrapper.service.synchronizer = synchronizer;
serviceWrapper.service.clearPersonalData(activity); serviceWrapper.service.clearPersonalData(activity);
} }
} }
synchronizer.closeControllers();
} }
// --- internal synchronization logic // --- internal synchronization logic

Loading…
Cancel
Save