diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmPreferenceService.java b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmPreferenceService.java index ddaa95509..db8695e18 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmPreferenceService.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmPreferenceService.java @@ -59,9 +59,9 @@ public class ActFmPreferenceService extends SyncProviderUtilities { public void setToken(String setting) { super.setToken(setting); if (TextUtils.isEmpty(setting)) - RemoteModelDao.outstandingEntryFlag = -1; + RemoteModelDao.setOutstandingEntryFlags(RemoteModelDao.OUTSTANDING_FLAG_UNINITIALIZED); else - RemoteModelDao.outstandingEntryFlag = 1; + RemoteModelDao.setOutstandingEntryFlags(RemoteModelDao.OUTSTANDING_ENTRY_FLAG_ENQUEUE_MESSAGES | RemoteModelDao.OUTSTANDING_ENTRY_FLAG_RECORD_OUTSTANDING); } /** diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncThread.java b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncThread.java index 7233814ba..e5b41bdaa 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncThread.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncThread.java @@ -196,6 +196,8 @@ public class ActFmSyncThread { }; public synchronized void enqueueMessage(ClientToServerMessage message, Runnable callback) { + if (!RemoteModelDao.getOutstandingEntryFlag(RemoteModelDao.OUTSTANDING_ENTRY_FLAG_ENQUEUE_MESSAGES)) + return; if (!pendingMessages.contains(message)) { pendingMessages.add(message); if (callback != null) diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/AstridNewSyncMigrator.java b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/AstridNewSyncMigrator.java index a894abfd1..e0c8522b9 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/AstridNewSyncMigrator.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/AstridNewSyncMigrator.java @@ -147,7 +147,7 @@ public class AstridNewSyncMigrator { @Override public boolean shouldCreateOutstandingEntries(TagData instance) { boolean result = lastFetchTime == 0 || (instance.containsNonNullValue(TagData.MODIFICATION_DATE) && instance.getValue(TagData.MODIFICATION_DATE) > lastFetchTime); - return result && RemoteModelDao.getOutstandingEntryFlag(); + return result && RemoteModelDao.getOutstandingEntryFlag(RemoteModelDao.OUTSTANDING_ENTRY_FLAG_RECORD_OUTSTANDING); } @Override @@ -186,9 +186,9 @@ public class AstridNewSyncMigrator { @Override public boolean shouldCreateOutstandingEntries(Task instance) { if (!instance.containsNonNullValue(Task.MODIFICATION_DATE) || instance.getValue(Task.LAST_SYNC) == 0) - return RemoteModelDao.getOutstandingEntryFlag(); + return RemoteModelDao.getOutstandingEntryFlag(RemoteModelDao.OUTSTANDING_ENTRY_FLAG_RECORD_OUTSTANDING); - return (instance.getValue(Task.LAST_SYNC) < instance.getValue(Task.MODIFICATION_DATE)) && RemoteModelDao.getOutstandingEntryFlag(); + return (instance.getValue(Task.LAST_SYNC) < instance.getValue(Task.MODIFICATION_DATE)) && RemoteModelDao.getOutstandingEntryFlag(RemoteModelDao.OUTSTANDING_ENTRY_FLAG_RECORD_OUTSTANDING); } @Override diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/SyncDatabaseListener.java b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/SyncDatabaseListener.java index cd3339f5f..e238b920a 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/SyncDatabaseListener.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/SyncDatabaseListener.java @@ -5,6 +5,7 @@ import com.todoroo.andlib.data.DatabaseDao.ModelUpdateListener; import com.todoroo.astrid.actfm.sync.ActFmSyncThread.ModelType; import com.todoroo.astrid.actfm.sync.messages.ChangesHappened; import com.todoroo.astrid.actfm.sync.messages.ClientToServerMessage; +import com.todoroo.astrid.dao.RemoteModelDao; public class SyncDatabaseListener implements ModelUpdateListener { @@ -17,7 +18,7 @@ public class SyncDatabaseListener implements ModelU @Override public void onModelUpdated(MTYPE model, boolean outstandingEntries) { - if (outstandingEntries) { + if (outstandingEntries && RemoteModelDao.getOutstandingEntryFlag(RemoteModelDao.OUTSTANDING_ENTRY_FLAG_ENQUEUE_MESSAGES)) { ChangesHappened ch = ChangesHappened.instantiateChangesHappened(model.getId(), modelType); enqueueMessage(model, ch); } diff --git a/astrid/src/com/todoroo/astrid/dao/MetadataDao.java b/astrid/src/com/todoroo/astrid/dao/MetadataDao.java index 97b045383..31da0e6e0 100644 --- a/astrid/src/com/todoroo/astrid/dao/MetadataDao.java +++ b/astrid/src/com/todoroo/astrid/dao/MetadataDao.java @@ -87,7 +87,7 @@ public class MetadataDao extends DatabaseDao { TaskToTagMetadata.KEY.equals(item.getValue(Metadata.KEY))) || (cv.containsKey(Metadata.DELETION_DATE.name) && item.getValue(Metadata.DELETION_DATE) > 0)) && - RemoteModelDao.getOutstandingEntryFlag(); + RemoteModelDao.getOutstandingEntryFlag(RemoteModelDao.OUTSTANDING_ENTRY_FLAG_RECORD_OUTSTANDING); } @Override diff --git a/astrid/src/com/todoroo/astrid/dao/RemoteModelDao.java b/astrid/src/com/todoroo/astrid/dao/RemoteModelDao.java index 190eef7eb..1bac5c2c8 100644 --- a/astrid/src/com/todoroo/astrid/dao/RemoteModelDao.java +++ b/astrid/src/com/todoroo/astrid/dao/RemoteModelDao.java @@ -32,23 +32,36 @@ public class RemoteModelDao extends DatabaseDao 0; + + return (outstandingEntryFlag & flag) > 0; } @Override protected boolean shouldRecordOutstanding(RTYPE item) { - return super.shouldRecordOutstanding(item) && getOutstandingEntryFlag(); + return super.shouldRecordOutstanding(item) && getOutstandingEntryFlag(OUTSTANDING_ENTRY_FLAG_RECORD_OUTSTANDING); } /** diff --git a/astrid/src/com/todoroo/astrid/dao/TagMetadataDao.java b/astrid/src/com/todoroo/astrid/dao/TagMetadataDao.java index d8503fac5..2389efeed 100644 --- a/astrid/src/com/todoroo/astrid/dao/TagMetadataDao.java +++ b/astrid/src/com/todoroo/astrid/dao/TagMetadataDao.java @@ -78,7 +78,7 @@ public class TagMetadataDao extends DatabaseDao { TagMemberMetadata.KEY.equals(item.getValue(TagMetadata.KEY))) || (cv.containsKey(TagMetadata.DELETION_DATE.name) && item.getValue(TagMetadata.DELETION_DATE) > 0)) && - RemoteModelDao.getOutstandingEntryFlag(); + RemoteModelDao.getOutstandingEntryFlag(RemoteModelDao.OUTSTANDING_ENTRY_FLAG_RECORD_OUTSTANDING); } @Override