Migrate Executor to TaskQueue
Current implementation uses Executor, which makes it harder to perform scheduled tasks or to perform task chaining. Currently tasks are enqueued by invoking a static method:
return Task.call(new Callable<Void>() {
public Void call() throws Exception {
// ... do the work ...
return null;
}
}, taskExecutor);
Typical Parse code is written using TaskQueue instead:
return taskQueue.enqueue(new Continuation<Void, Task<Void>>() {
@Override
public Task<Void> then(Task<Void> toAwait) throws Exception {
return toAwait.continueWithTask(new Continuation<Void, Task<Void>>() {
@Override
public Task<Void> then(Task<Void> task) throws Exception {
// ... do the work ...
return <a task that resolves when the work is complete>;
}
});
}
});
The end result is largely the same, but using TaskQueue will help keep the architecture more in line with what is already established in Parse-SDK-Android.
Basically using the bolts framework right?
Yeah, that's the idea. Updating the client to work more like how the existing parse platform is already written.
Sorry it was my first time using that Framework when I made the initial project. I tried to do the same as how it's done in the existing parse platform. Thanks, and I'll learn about it :)