Make last sync date work with new providers in sync preferences

pull/14/head
Sam Bosley 14 years ago
parent 37b24d530b
commit c4b0a3629c

@ -75,6 +75,7 @@ abstract public class SyncV2BackgroundService extends Service {
getSyncProvider().synchronizeActiveTasks(false, new SyncResultCallbackAdapter() { getSyncProvider().synchronizeActiveTasks(false, new SyncResultCallbackAdapter() {
@Override @Override
public void finished() { public void finished() {
getSyncUtilities().recordSuccessfulSync();
context.sendBroadcast(new Intent(AstridApiConstants.BROADCAST_EVENT_REFRESH)); context.sendBroadcast(new Intent(AstridApiConstants.BROADCAST_EVENT_REFRESH));
} }
}); });

@ -32,13 +32,18 @@ public class ActFmPreferences extends SyncProviderPreferences {
@Override @Override
public void startSync() { public void startSync() {
new ActFmSyncV2Provider().synchronizeActiveTasks(true, new SyncResultCallbackAdapter() { if (!actFmPreferenceService.isLoggedIn()) {
@Override Intent intent = new Intent(this, ActFmLoginActivity.class);
public void finished() { startActivityForResult(intent, 0);
ContextManager.getContext().sendBroadcast(new Intent(AstridApiConstants.BROADCAST_EVENT_REFRESH)); } else {
} new ActFmSyncV2Provider().synchronizeActiveTasks(true, new SyncResultCallbackAdapter() {
}); @Override
finish(); public void finished() {
ContextManager.getContext().sendBroadcast(new Intent(AstridApiConstants.BROADCAST_EVENT_REFRESH));
}
});
finish();
}
} }
@Override @Override

@ -103,8 +103,10 @@ public class ActFmSyncV2Provider extends SyncV2Provider {
exceptionService.reportError("actfm-sync", e); //$NON-NLS-1$ exceptionService.reportError("actfm-sync", e); //$NON-NLS-1$
} finally { } finally {
callback.incrementProgress(20); callback.incrementProgress(20);
if(finisher.decrementAndGet() == 0) if(finisher.decrementAndGet() == 0) {
actFmPreferenceService.recordSuccessfulSync();
callback.finished(); callback.finished();
}
} }
} }
}).start(); }).start();
@ -119,8 +121,10 @@ public class ActFmSyncV2Provider extends SyncV2Provider {
pushQueued(callback, finisher); pushQueued(callback, finisher);
callback.incrementProgress(30); callback.incrementProgress(30);
if(finisher.decrementAndGet() == 0) if(finisher.decrementAndGet() == 0) {
actFmPreferenceService.recordSuccessfulSync();
callback.finished(); callback.finished();
}
} }
}); });
} }
@ -149,8 +153,10 @@ public class ActFmSyncV2Provider extends SyncV2Provider {
actFmSyncService.pushTaskOnSave(task, task.getMergedValues()); actFmSyncService.pushTaskOnSave(task, task.getMergedValues());
} finally { } finally {
callback.incrementProgress(20); callback.incrementProgress(20);
if(finisher.decrementAndGet() == 0) if(finisher.decrementAndGet() == 0) {
actFmPreferenceService.recordSuccessfulSync();
callback.finished(); callback.finished();
}
} }
} }
}).start(); }).start();

@ -8,6 +8,7 @@ import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.gtasks.auth.GtasksLoginActivity;
import com.todoroo.astrid.gtasks.sync.GtasksSyncV2Provider; import com.todoroo.astrid.gtasks.sync.GtasksSyncV2Provider;
import com.todoroo.astrid.sync.SyncProviderPreferences; import com.todoroo.astrid.sync.SyncProviderPreferences;
import com.todoroo.astrid.sync.SyncProviderUtilities; import com.todoroo.astrid.sync.SyncProviderUtilities;
@ -41,13 +42,18 @@ public class GtasksPreferences extends SyncProviderPreferences {
@Override @Override
public void startSync() { public void startSync() {
new GtasksSyncV2Provider().synchronizeActiveTasks(true, new SyncResultCallbackAdapter() { if (!gtasksPreferenceService.isLoggedIn()) {
@Override Intent intent = new Intent(this, GtasksLoginActivity.class);
public void finished() { startActivityForResult(intent, 0);
ContextManager.getContext().sendBroadcast(new Intent(AstridApiConstants.BROADCAST_EVENT_REFRESH)); } else {
} new GtasksSyncV2Provider().synchronizeActiveTasks(true, new SyncResultCallbackAdapter() {
}); @Override
finish(); public void finished() {
ContextManager.getContext().sendBroadcast(new Intent(AstridApiConstants.BROADCAST_EVENT_REFRESH));
}
});
finish();
}
} }
@Override @Override

@ -112,6 +112,7 @@ public class GtasksSyncV2Provider extends SyncV2Provider {
public void run() { public void run() {
synchronizeListHelper(list, invoker, callback); synchronizeListHelper(list, invoker, callback);
if (finisher.decrementAndGet() == 0) { if (finisher.decrementAndGet() == 0) {
gtasksPreferenceService.recordSuccessfulSync();
callback.finished(); callback.finished();
} }
} }

Loading…
Cancel
Save