Threads launching threads

pull/14/head
Sam Bosley 14 years ago
parent cb95621ddc
commit 02d6d30d83

@ -142,12 +142,15 @@ public final class ActFmSyncService {
taskPushThreads.incrementAndGet(); taskPushThreads.incrementAndGet();
waitUntilEmpty.close(); waitUntilEmpty.close();
// sleep so metadata associated with task is saved // sleep so metadata associated with task is saved
try {
AndroidUtilities.sleepDeep(1000L); AndroidUtilities.sleepDeep(1000L);
pushTaskOnSave(model, setValues); pushTaskOnSave(model, setValues);
} finally {
if (taskPushThreads.decrementAndGet() == 0) { if (taskPushThreads.decrementAndGet() == 0) {
waitUntilEmpty.open(); waitUntilEmpty.open();
} }
} }
}
}).start(); }).start();
} }

@ -106,9 +106,11 @@ public class ActFmSyncV2Provider extends SyncV2Provider {
// --- synchronize active tasks // --- synchronize active tasks
@Override @Override
public void synchronizeActiveTasks(boolean manual, public void synchronizeActiveTasks(final boolean manual,
final SyncResultCallback callback) { final SyncResultCallback callback) {
new Thread(new Runnable() {
public void run() {
callback.started(); callback.started();
callback.incrementMax(100); callback.incrementMax(100);
@ -123,6 +125,8 @@ public class ActFmSyncV2Provider extends SyncV2Provider {
callback.incrementProgress(50); callback.incrementProgress(50);
} }
}).start();
}
/** fetch changes to tags */ /** fetch changes to tags */
private void startTagFetcher(final SyncResultCallback callback, private void startTagFetcher(final SyncResultCallback callback,
@ -239,15 +243,17 @@ public class ActFmSyncV2Provider extends SyncV2Provider {
// --- synchronize list // --- synchronize list
@Override @Override
public void synchronizeList(Object list, boolean manual, public void synchronizeList(Object list, final boolean manual,
final SyncResultCallback callback) { final SyncResultCallback callback) {
if(!(list instanceof TagData)) if(!(list instanceof TagData))
return; return;
TagData tagData = (TagData) list; final TagData tagData = (TagData) list;
final boolean noRemoteId = tagData.getValue(TagData.REMOTE_ID) == 0; final boolean noRemoteId = tagData.getValue(TagData.REMOTE_ID) == 0;
new Thread(new Runnable() {
public void run() {
callback.started(); callback.started();
callback.incrementMax(100); callback.incrementMax(100);
@ -263,6 +269,8 @@ public class ActFmSyncV2Provider extends SyncV2Provider {
callback.incrementProgress(50); callback.incrementProgress(50);
} }
}).start();
}
private void fetchTagData(final TagData tagData, final boolean noRemoteId, private void fetchTagData(final TagData tagData, final boolean noRemoteId,
final boolean manual, final SyncResultCallback callback, final boolean manual, final SyncResultCallback callback,

Loading…
Cancel
Save