aboutsummaryrefslogtreecommitdiffstats
path: root/AndroidAsync/src/com/koushikdutta/async/future
diff options
context:
space:
mode:
Diffstat (limited to 'AndroidAsync/src/com/koushikdutta/async/future')
-rw-r--r--AndroidAsync/src/com/koushikdutta/async/future/SimpleFuture.java22
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