From 2863a2810e18d4478cce329951f54a826e973217 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Fri, 28 Oct 2011 14:30:57 -0700 Subject: [PATCH] Fixed some bugs with simultaneous syncing --- astrid/plugin-src/com/timsu/astrid/C2DMReceiver.java | 4 ++-- .../com/todoroo/astrid/actfm/sync/ActFmSyncService.java | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/astrid/plugin-src/com/timsu/astrid/C2DMReceiver.java b/astrid/plugin-src/com/timsu/astrid/C2DMReceiver.java index bd034e572..1979531bb 100644 --- a/astrid/plugin-src/com/timsu/astrid/C2DMReceiver.java +++ b/astrid/plugin-src/com/timsu/astrid/C2DMReceiver.java @@ -74,8 +74,8 @@ public class C2DMReceiver extends BroadcastReceiver { new Thread(new Runnable() { @Override public void run() { - if(intent.hasExtra("web_update")) - if (DateUtilities.now() - actFmPreferenceService.getLastSyncDate() > MIN_MILLIS_BETWEEN_FULL_SYNCS) + if(intent.hasExtra("web_update") && actFmPreferenceService.isLoggedIn()) + if (DateUtilities.now() - actFmPreferenceService.getLastSyncDate() > MIN_MILLIS_BETWEEN_FULL_SYNCS && !actFmPreferenceService.isOngoing()) new ActFmSyncProvider().synchronize(ContextManager.getContext()); else handleWebUpdate(intent); 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 67419d244..967b91994 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncService.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncService.java @@ -118,6 +118,8 @@ public final class ActFmSyncService { public void onModelUpdated(final Task model) { if(Flags.checkAndClear(Flags.ACTFM_SUPPRESS_SYNC)) return; + if (actFmPreferenceService.isOngoing()) + return; final ContentValues setValues = model.getSetValues(); if(setValues == null || !checkForToken() || setValues.containsKey(RemoteModel.REMOTE_ID_PROPERTY_NAME)) return; @@ -144,6 +146,8 @@ public final class ActFmSyncService { public void onModelUpdated(final Update model) { if(Flags.checkAndClear(Flags.ACTFM_SUPPRESS_SYNC)) return; + if (actFmPreferenceService.isOngoing()) + return; final ContentValues setValues = model.getSetValues(); if(setValues == null || !checkForToken() || model.getValue(Update.REMOTE_ID) > 0) return; @@ -162,6 +166,8 @@ public final class ActFmSyncService { public void onModelUpdated(final TagData model) { if(Flags.checkAndClear(Flags.ACTFM_SUPPRESS_SYNC)) return; + if (actFmPreferenceService.isOngoing()) + return; final ContentValues setValues = model.getSetValues(); if(setValues == null || !checkForToken() || setValues.containsKey(RemoteModel.REMOTE_ID_PROPERTY_NAME)) return;