Hide

Batch

public final class Batch extends Object
implements PendingResult<BatchResult>
java.lang.Object
   ↳ com.google.android.gms.common.api.Batch

Handles a batch of PendingResult items. Callbacks can be added and you can block to wait for all items in the batch to complete like any other PendingResult item. A Batch can also be canceled if the results are no longer needed. In this case, the onBatchComplete callback will never be triggered.

The results can be taken either from the underlying PendingResults or via take(BatchResultToken) but not both.

Nested Class Summary

class Batch.Builder Builder for Batch objects. 

Field Summary

protected final CallbackHandler<R extends Result> mHandler

Public Method Summary

final void
final BatchResult
await()
final BatchResult
await(long time, TimeUnit units)
void
cancel()
BatchResult
final void
boolean
final boolean
final void
setResult(R extends Result result)
final void
setResultCallback(ResultCallback<R extends Result> callback, long time, TimeUnit units)
final void
setResultCallback(ResultCallback<R extends Result> callback)

Protected Method Summary

void
final void

Fields

protected final CallbackHandler<R extends Result> mHandler

Public Methods

public final void addBatchCallback (PendingResult.BatchCallback callback)

public final BatchResult await ()

Blocks until the task is completed. This is not allowed on the UI thread. The returned result object can have an additional failure mode of INTERRUPTED.

public final BatchResult await (long time, TimeUnit units)

Blocks until the task is completed or has timed out waiting for the result. This is not allowed on the UI thread. The returned result object can have an additional failure mode of either INTERRUPTED or TIMEOUT.

public void cancel ()

Requests that the batch be canceled. Cancels all underlying PendingResults.

onResult(Result) will never be called, await() will return a failed result with status CANCELED.

public BatchResult createFailedResult (Status status)

Creates a result of type that represents a failure with the specified Status.

public final void forceFailureUnlessReady (Status status)

Forces the result of the API call a failure, unless a result has otherwise already been set.

public boolean isCanceled ()

Indicates whether the pending result has been canceled either due to calling disconnect() or calling cancel() directly on the pending result or an enclosing Batch.

public final boolean isReady ()

public final void setResult (R extends Result result)

Sets the result of the API call. Assuming that a failure or cancelation has not already been set, the result will be returned to the client via await() or onResult(R).

This method must called at most once.

public final void setResultCallback (ResultCallback<R extends Result> callback, long time, TimeUnit units)

Set the callback here if you want the result to be delivered via a callback when the result is ready or has timed out waiting for the result. The returned result object can have an additional failure mode of TIMEOUT.

public final void setResultCallback (ResultCallback<R extends Result> callback)

Set the callback here if you want the result to be delivered via a callback when the result is ready.

Protected Methods

protected void onResultConsumed ()

Called when the result is returned by await() or delivered via a ResultCallback.

protected final void setCancelToken (ICancelToken cancelToken)