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 f54a91b8c..1881f681c 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncProvider.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncProvider.java @@ -321,6 +321,7 @@ public class ActFmSyncProvider extends SyncProvider { } else { // Set default reminders for remotely created tasks TaskDao.setDefaultReminders(task.task); } + task.task.setValue(Task.LAST_SYNC, DateUtilities.now() + 1000); actFmDataService.saveTaskAndMetadata(task); } diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index 277deab0d..1ddbdfc17 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -1201,8 +1201,14 @@ public class TaskListActivity extends ListActivity implements OnScrollListener, } } + private static final String PREF_LAST_AUTO_SYNC = "taskListLastAutoSync"; //$NON-NLS-1$ + private void initiateAutomaticSync() { - syncService.synchronizeActiveTasks(false, new TaskListSyncResultCallback()); + long lastAutoSync = Preferences.getLong(PREF_LAST_AUTO_SYNC, 0); + if(DateUtilities.now() - lastAutoSync > DateUtilities.ONE_HOUR) { + syncService.synchronizeActiveTasks(false, new TaskListSyncResultCallback()); + Preferences.setLong(PREF_LAST_AUTO_SYNC, DateUtilities.now()); + } } private void performSyncAction() { @@ -1249,6 +1255,7 @@ public class TaskListActivity extends ListActivity implements OnScrollListener, } else { syncService.synchronizeActiveTasks(true, new TaskListSyncResultCallback()); + Preferences.setLong(PREF_LAST_AUTO_SYNC, DateUtilities.now()); if(syncActions.size() > 0) { for(SyncAction syncAction : syncActions) {