Task

public abstract class Task extends Object

Represents an asynchronous operation.

See Also

Public Constructor Summary

Task()

Public Method Summary

Task<TResult>
addOnCanceledListener(OnCanceledListener listener)
Adds a listener that is called if the Task is canceled.
Task<TResult>
addOnCanceledListener(Executor executor, OnCanceledListener listener)
Adds a listener that is called if the Task is canceled.
Task<TResult>
addOnCanceledListener(Activity activity, OnCanceledListener listener)
Adds an Activity-scoped listener that is called if the Task is canceled.
Task<TResult>
addOnCompleteListener(OnCompleteListener<TResult> listener)
Adds a listener that is called when the Task completes.
Task<TResult>
addOnCompleteListener(Activity activity, OnCompleteListener<TResult> listener)
Adds an Activity-scoped listener that is called when the Task completes.
Task<TResult>
addOnCompleteListener(Executor executor, OnCompleteListener<TResult> listener)
Adds a listener that is called when the Task completes.
abstract Task<TResult>
addOnFailureListener(Activity activity, OnFailureListener listener)
Adds an Activity-scoped listener that is called if the Task fails.
abstract Task<TResult>
addOnFailureListener(OnFailureListener listener)
Adds a listener that is called if the Task fails.
abstract Task<TResult>
addOnFailureListener(Executor executor, OnFailureListener listener)
Adds a listener that is called if the Task fails.
abstract Task<TResult>
addOnSuccessListener(Executor executor, OnSuccessListener<? super TResult> listener)
Adds a listener that is called if the Task completes successfully.
abstract Task<TResult>
addOnSuccessListener(OnSuccessListener<? super TResult> listener)
Adds a listener that is called if the Task completes successfully.
abstract Task<TResult>
addOnSuccessListener(Activity activity, OnSuccessListener<? super TResult> listener)
Adds an Activity-scoped listener that is called if the Task completes successfully.
<TContinuationResult> Task<TContinuationResult>
continueWith(Continuation<TResult, TContinuationResult> continuation)
Returns a new Task that will be completed with the result of applying the specified Continuation to this Task.
<TContinuationResult> Task<TContinuationResult>
continueWith(Executor executor, Continuation<TResult, TContinuationResult> continuation)
Returns a new Task that will be completed with the result of applying the specified Continuation to this Task.
<TContinuationResult> Task<TContinuationResult>
continueWithTask(Continuation<TResult, Task<TContinuationResult>> continuation)
Returns a new Task that will be completed with the result of applying the specified Continuation to this Task.
<TContinuationResult> Task<TContinuationResult>
continueWithTask(Executor executor, Continuation<TResult, Task<TContinuationResult>> continuation)
Returns a new Task that will be completed with the result of applying the specified Continuation to this Task.
abstract Exception
getException()
Returns the exception that caused the Task to fail.
abstract TResult
getResult()
Gets the result of the Task, if it has already completed.
abstract <X extends Throwable> TResult
getResult(Class<X> exceptionType)
Gets the result of the Task, if it has already completed.
abstract boolean
isCanceled()
Returns true if the Task is canceled; false otherwise.
abstract boolean
isComplete()
Returns true if the Task is complete; false otherwise.
abstract boolean
isSuccessful()
Returns true if the Task has completed successfully; false otherwise.
<TContinuationResult> Task<TContinuationResult>
onSuccessTask(Executor executor, SuccessContinuation<TResult, TContinuationResult> successContinuation)
Returns a new Task that will be completed with the result of applying the specified SuccessContinuation to this Task when this Task completes successfully.
<TContinuationResult> Task<TContinuationResult>
onSuccessTask(SuccessContinuation<TResult, TContinuationResult> successContinuation)
Returns a new Task that will be completed with the result of applying the specified SuccessContinuation to this Task when this Task completes successfully.

Inherited Method Summary

Public Constructors

public Task ()

Public Methods

public Task<TResult> addOnCanceledListener (OnCanceledListener listener)

Adds a listener that is called if the Task is canceled.

The listener will be called on main application thread. If the Task has already been canceled, a call to the listener will be immediately scheduled. If multiple listeners are added, they will be called in the order in which they were added.

Returns
  • this Task

public Task<TResult> addOnCanceledListener (Executor executor, OnCanceledListener listener)

Adds a listener that is called if the Task is canceled.

If the Task has already been canceled, a call to the listener will be immediately scheduled. If multiple listeners are added, they will be called in the order in which they were added.

Parameters
executor the executor to use to call the listener
listener
Returns
  • this Task

public Task<TResult> addOnCanceledListener (Activity activity, OnCanceledListener listener)

Adds an Activity-scoped listener that is called if the Task is canceled.

The listener will be called on main application thread. If the Task has already been canceled, a call to the listener will be immediately scheduled. If multiple listeners are added, they will be called in the order in which they were added.

The listener will be automatically removed during Activity.onStop().

Returns
  • this Task

public Task<TResult> addOnCompleteListener (OnCompleteListener<TResult> listener)

Adds a listener that is called when the Task completes.

The listener will be called on main application thread. If the Task is already complete, a call to the listener will be immediately scheduled. A Task is considered complete if it succeeds, fails, or is canceled. If multiple listeners are added, they will be called in the order in which they were added.

Returns
  • this Task

public Task<TResult> addOnCompleteListener (Activity activity, OnCompleteListener<TResult> listener)

Adds an Activity-scoped listener that is called when the Task completes.

The listener will be called on main application thread. If the Task is already complete, a call to the listener will be immediately scheduled. A Task is considered complete if it succeeds, fails, or is canceled. If multiple listeners are added, they will be called in the order in which they were added.

The listener will be automatically removed during Activity.onStop().

Returns
  • this Task

public Task<TResult> addOnCompleteListener (Executor executor, OnCompleteListener<TResult> listener)

Adds a listener that is called when the Task completes.

If the Task is already complete, a call to the listener will be immediately scheduled. A Task is considered complete if it succeeds, fails, or is canceled. If multiple listeners are added, they will be called in the order in which they were added.

Parameters
executor the executor to use to call the listener
listener
Returns
  • this Task

public abstract Task<TResult> addOnFailureListener (Activity activity, OnFailureListener listener)

Adds an Activity-scoped listener that is called if the Task fails.

The listener will be called on main application thread. If the Task has already failed, a call to the listener will be immediately scheduled. If multiple listeners are added, they will be called in the order in which they were added.

A canceled Task is not a failure Task. This listener will not trigger if the Task is canceled.

The listener will be automatically removed during Activity.onStop().

Returns
  • this Task

public abstract Task<TResult> addOnFailureListener (OnFailureListener listener)

Adds a listener that is called if the Task fails.

The listener will be called on main application thread. If the Task has already failed, a call to the listener will be immediately scheduled. If multiple listeners are added, they will be called in the order in which they were added.

A canceled Task is not a failure Task. This listener will not trigger if the Task is canceled.

Returns
  • this Task

public abstract Task<TResult> addOnFailureListener (Executor executor, OnFailureListener listener)

Adds a listener that is called if the Task fails.

If the Task has already failed, a call to the listener will be immediately scheduled. If multiple listeners are added, they will be called in the order in which they were added.

Parameters
executor the executor to use to call the listener
listener
Returns
  • this Task

public abstract Task<TResult> addOnSuccessListener (Executor executor, OnSuccessListener<? super TResult> listener)

Adds a listener that is called if the Task completes successfully.

If multiple listeners are added, they will be called in the order in which they were added. If the Task has already completed successfully, a call to the listener will be immediately scheduled.

Parameters
executor the executor to use to call the listener
listener
Returns
  • this Task

public abstract Task<TResult> addOnSuccessListener (OnSuccessListener<? super TResult> listener)

Adds a listener that is called if the Task completes successfully.

The listener will be called on the main application thread. If the Task has already completed successfully, a call to the listener will be immediately scheduled. If multiple listeners are added, they will be called in the order in which they were added.

Returns
  • this Task

public abstract Task<TResult> addOnSuccessListener (Activity activity, OnSuccessListener<? super TResult> listener)

Adds an Activity-scoped listener that is called if the Task completes successfully.

The listener will be called on the main application thread. If the Task has already completed successfully, a call to the listener will be immediately scheduled. If multiple listeners are added, they will be called in the order in which they were added.

The listener will be automatically removed during Activity.onStop().

Returns
  • this Task

public Task<TContinuationResult> continueWith (Continuation<TResult, TContinuationResult> continuation)

Returns a new Task that will be completed with the result of applying the specified Continuation to this Task.

The Continuation will be called on the main application thread.

If the previous Task is canceled, the returned Task will also be canceled and the Continuation would not execute.

public Task<TContinuationResult> continueWith (Executor executor, Continuation<TResult, TContinuationResult> continuation)

Returns a new Task that will be completed with the result of applying the specified Continuation to this Task.

If the previous Task is canceled, the returned Task will also be canceled and the Continuation would not execute.

Parameters
executor the executor to use to call the Continuation
continuation

public Task<TContinuationResult> continueWithTask (Continuation<TResult, Task<TContinuationResult>> continuation)

Returns a new Task that will be completed with the result of applying the specified Continuation to this Task.

The Continuation will be called on the main application thread.

If the previous Task is canceled, the Continuation would still execute and task.isCanceled() is true can be observed in the Continuation.

public Task<TContinuationResult> continueWithTask (Executor executor, Continuation<TResult, Task<TContinuationResult>> continuation)

Returns a new Task that will be completed with the result of applying the specified Continuation to this Task.

If the previous Task is canceled, the Continuation would still execute and task.isCanceled() is true can be observed in the Continuation.

Parameters
executor the executor to use to call the Continuation
continuation

public abstract Exception getException ()

Returns the exception that caused the Task to fail. Returns null if the Task is not yet complete, or completed successfully.

public abstract TResult getResult ()

Gets the result of the Task, if it has already completed.

Throws
IllegalStateException if the Task is not yet complete
RuntimeExecutionException if the Task failed with an exception

public abstract TResult getResult (Class<X> exceptionType)

Gets the result of the Task, if it has already completed.

Throws
IllegalStateException if the Task is not yet complete
if the Task failed with an exception of type X
RuntimeExecutionException if the Task failed with an exception that was not of type X
Throwable

public abstract boolean isCanceled ()

Returns true if the Task is canceled; false otherwise.

public abstract boolean isComplete ()

Returns true if the Task is complete; false otherwise.

public abstract boolean isSuccessful ()

Returns true if the Task has completed successfully; false otherwise.

public Task<TContinuationResult> onSuccessTask (Executor executor, SuccessContinuation<TResult, TContinuationResult> successContinuation)

Returns a new Task that will be completed with the result of applying the specified SuccessContinuation to this Task when this Task completes successfully. If the previous Task fails, the onSuccessTask completion will be skipped and failure listeners will be invoked.

If the previous Task is canceled, the returned Task will also be canceled and the SuccessContinuation would not execute.

Parameters
executor the executor to use to call the SuccessContinuation
successContinuation

public Task<TContinuationResult> onSuccessTask (SuccessContinuation<TResult, TContinuationResult> successContinuation)

Returns a new Task that will be completed with the result of applying the specified SuccessContinuation to this Task when this Task completes successfully. If the previous Task fails, the onSuccessTask completion will be skipped and failure listeners will be invoked.

The SuccessContinuation will be called on the main application thread.

If the previous Task is canceled, the returned Task will also be canceled and the SuccessContinuation would not execute.