diff options
Diffstat (limited to 'AndroidAsync/src/com/koushikdutta/async/future')
-rw-r--r-- | AndroidAsync/src/com/koushikdutta/async/future/SimpleFuture.java | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/AndroidAsync/src/com/koushikdutta/async/future/SimpleFuture.java b/AndroidAsync/src/com/koushikdutta/async/future/SimpleFuture.java index e24f22b..e4ada4c 100644 --- a/AndroidAsync/src/com/koushikdutta/async/future/SimpleFuture.java +++ b/AndroidAsync/src/com/koushikdutta/async/future/SimpleFuture.java @@ -94,25 +94,21 @@ public class SimpleFuture<T> extends SimpleCancellable implements DependentFutur Exception exception; public boolean setComplete(Exception e) { - FutureCallback<T> callback; - synchronized (this) { - if (!super.setComplete()) - return false; - exception = e; - releaseWaiterLocked(); - callback = handleCompleteLocked(); - } - handleCallbackUnlocked(callback); - return true; + return setComplete(e, null); } T result; public boolean setComplete(T value) { + return setComplete(null, value); + } + + public boolean setComplete(Exception e, T value) { FutureCallback<T> callback; synchronized (this) { if (!super.setComplete()) return false; result = value; + exception = e; releaseWaiterLocked(); callback = handleCompleteLocked(); } @@ -120,12 +116,6 @@ public class SimpleFuture<T> extends SimpleCancellable implements DependentFutur return true; } - public boolean setComplete(Exception e, T value) { - if (e != null) - return setComplete(e); - return setComplete(value); - } - public FutureCallback<T> getCompletionCallback() { return new FutureCallback<T>() { @Override |