diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncProvider.java b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncProvider.java index 1881f681c..89bfc7b88 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncProvider.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncProvider.java @@ -133,15 +133,16 @@ public class ActFmSyncProvider extends SyncProvider { try { int serverTime = Preferences.getInt(ActFmPreferenceService.PREF_SERVER_TIME, 0); + ArrayList remoteTasks = new ArrayList(); - int newServerTime = fetchRemoteTasks(serverTime, remoteTasks); + // int newServerTime = fetchRemoteTasks(serverTime, remoteTasks); if (serverTime == 0) { // If we've never synced, we may lose some empty tags pushUnsavedTagData(); } - fetchRemoteTagData(serverTime); + // fetchRemoteTagData(serverTime); - SyncData syncData = populateSyncData(remoteTasks); + /* SyncData syncData = populateSyncData(remoteTasks); try { synchronizeTasks(syncData); @@ -150,7 +151,8 @@ public class ActFmSyncProvider extends SyncProvider { syncData.localUpdated.close(); } - Preferences.setInt(ActFmPreferenceService.PREF_SERVER_TIME, newServerTime); + Preferences.setInt(ActFmPreferenceService.PREF_SERVER_TIME, newServerTime); */ + actFmPreferenceService.recordSuccessfulSync(); syncSuccess = getFinalSyncStatus(); diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncService.java b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncService.java index 3e25f3e76..2e517038c 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncService.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncService.java @@ -395,15 +395,17 @@ public final class ActFmSyncService { JSONObject result = actFmInvoker.invoke("task_save", params.toArray(new Object[params.size()])); ArrayList metadata = new ArrayList(); JsonHelper.taskFromJson(result, task, metadata); - Flags.set(Flags.ACTFM_SUPPRESS_SYNC); - taskDao.saveExisting(task); } catch (JSONException e) { handleException("task-save-json", e); } catch (IOException e) { if (notPermanentError(e)) addFailedPush(new FailedPush(PUSH_TYPE_TASK, task.getId())); handleException("task-save-io", e); + task.setValue(Task.LAST_SYNC, DateUtilities.now() + 1000L); } + + Flags.set(Flags.ACTFM_SUPPRESS_SYNC); + taskDao.saveExisting(task); } /** @@ -695,6 +697,9 @@ public final class ActFmSyncService { StatisticsService.reportEvent(StatisticsConstants.ACTFM_TASK_COMPLETED); } + if(!remote.isSaved() && remote.hasDueDate() && + remote.getValue(Task.DUE_DATE) < DateUtilities.now()) + remote.setFlag(Task.REMINDER_FLAGS, Task.NOTIFY_AFTER_DEADLINE, false); Flags.set(Flags.ACTFM_SUPPRESS_SYNC); taskService.save(remote);