Improved subtasks sync

pull/14/head
Sam Bosley 13 years ago
parent 1a7a0b29a8
commit 4f28a9addc

@ -316,8 +316,8 @@ public class ActFmSyncV2Provider extends SyncV2Provider {
/** @return runnable to fetch changes to tags */
private void startTaskFetcher(final boolean manual, final SyncResultCallback callback,
final AtomicInteger finisher) {
final boolean pushActiveTasksOrder = actFmSyncService.cancelFilterOrderingPush(SubtasksUpdater.ACTIVE_TASKS_ORDER);
final boolean pushTodayOrder = actFmSyncService.cancelFilterOrderingPush(SubtasksUpdater.TODAY_TASKS_ORDER);
final boolean pushActiveTasksOrder = actFmSyncService.cancelFilterOrderingPush(SubtasksUpdater.ACTIVE_TASKS_ORDER) && manual;
final boolean pushTodayOrder = actFmSyncService.cancelFilterOrderingPush(SubtasksUpdater.TODAY_TASKS_ORDER) && manual;
actFmSyncService.fetchActiveTasks(manual, handler, new Runnable() {
@Override
@ -465,8 +465,8 @@ public class ActFmSyncV2Provider extends SyncV2Provider {
fetchTagData(tagData, noRemoteId, manual, callback, finisher);
if(!noRemoteId) {
boolean orderPushQueued = actFmSyncService.cancelTagOrderingPush(tagData.getId()) && manual;
actFmSyncService.waitUntilEmpty();
boolean orderPushQueued = actFmSyncService.cancelTagOrderingPush(tagData.getId());
fetchTasksForTag(tagData, manual, orderPushQueued, callback, finisher);
fetchUpdatesForTag(tagData, manual, callback, finisher);
}

@ -296,7 +296,7 @@ public class AstridOrderedListFragmentHelper<LIST> implements OrderedListFragmen
}
if (madeChanges) {
updater.writeSerialization(list, updater.serializeTree());
updater.writeSerialization(list, updater.serializeTree(), true);
}
} finally {
recurring.close();

@ -50,7 +50,7 @@ public abstract class AstridOrderedListUpdater<LIST> {
private final HashMap<Long, Node> idToNode;
protected abstract String getSerializedTree(LIST list, Filter filter);
protected abstract void writeSerialization(LIST list, String serialized);
protected abstract void writeSerialization(LIST list, String serialized, boolean shouldQueueSync);
protected abstract void applyToFilter(Filter filter);
public int getIndentForTask(long targetTaskId) {
@ -105,7 +105,7 @@ public abstract class AstridOrderedListUpdater<LIST> {
tasks.close();
}
if (changedThings)
writeSerialization(list, serializeTree());
writeSerialization(list, serializeTree(), false);
}
private void removeNodes(Set<Long> idsToRemove) {
@ -222,7 +222,7 @@ public abstract class AstridOrderedListUpdater<LIST> {
newSiblings.add(insertAfter + 1, node);
}
writeSerialization(list, serializeTree());
writeSerialization(list, serializeTree(), true);
applyToFilter(filter);
}
@ -300,7 +300,7 @@ public abstract class AstridOrderedListUpdater<LIST> {
beforeIndex--;
}
newSiblings.add(beforeIndex, moveThis);
writeSerialization(list, serializeTree());
writeSerialization(list, serializeTree(), true);
applyToFilter(filter);
}
@ -321,7 +321,7 @@ public abstract class AstridOrderedListUpdater<LIST> {
treeRoot.children.add(moveThis);
moveThis.parent = treeRoot;
setNodeIndent(moveThis, 0);
writeSerialization(list, serializeTree());
writeSerialization(list, serializeTree(), true);
applyToFilter(filter);
}
@ -332,7 +332,7 @@ public abstract class AstridOrderedListUpdater<LIST> {
Node newNode = new Node(taskId, treeRoot, 0);
treeRoot.children.add(newNode);
idToNode.put(taskId, newNode);
writeSerialization(list, serializeTree());
writeSerialization(list, serializeTree(), true);
applyToFilter(filter);
}
@ -355,7 +355,7 @@ public abstract class AstridOrderedListUpdater<LIST> {
}
idToNode.remove(taskId);
writeSerialization(list, serializeTree());
writeSerialization(list, serializeTree(), true);
applyToFilter(filter);
}

@ -15,9 +15,10 @@ public class SubtasksFilterUpdater extends SubtasksUpdater<String> {
}
@Override
protected void writeSerialization(String list, String serialized) {
protected void writeSerialization(String list, String serialized, boolean shouldQueueSync) {
Preferences.setString(list, serialized);
actFmSyncService.pushFilterOrderingOnSave(list);
if (shouldQueueSync)
actFmSyncService.pushFilterOrderingOnSave(list);
}
}

@ -15,10 +15,11 @@ public class SubtasksTagUpdater extends SubtasksUpdater<TagData> {
}
@Override
protected void writeSerialization(TagData list, String serialized) {
protected void writeSerialization(TagData list, String serialized, boolean shouldQueueSync) {
list.setValue(TagData.TAG_ORDERING, serialized);
tagDataService.save(list);
actFmSyncService.pushTagOrderingOnSave(list.getId());
if (shouldQueueSync)
actFmSyncService.pushTagOrderingOnSave(list.getId());
}
}

Loading…
Cancel
Save