ControllableTask

public abstract classControllableTask<StateT> extendsCancellableTask

Known direct subclasses
StorageTask

A controllable Task that has a synchronized state machine.

Known indirect subclasses
FileDownloadTask

A task that downloads bytes of a GCS blob to a specified File.

StreamDownloadTask

A task that downloads bytes of a GCS blob.

UploadTask

An controllable task that uploads and fires events for success, progress and failure.


Represents an asynchronous operation that can be paused, resumed and canceled. This task also receives progress and other state change notifications.

Parameters
<StateT>

the type of state this operation returns in events.

Summary

Public constructors

Public methods

abstract @NonNullControllableTask<StateT>

Adds a listener that is called when the Task becomes paused.

abstract @NonNullControllableTask<StateT>
addOnPausedListener(
    @NonNullActivity activity,
    @NonNullOnPausedListener<Object> listener
)

Adds a listener that is called when the Task becomes paused.

abstract @NonNullControllableTask<StateT>
addOnPausedListener(
    @NonNullExecutor executor,
    @NonNullOnPausedListener<Object> listener
)

Adds a listener that is called when the Task becomes paused.

abstract boolean
abstract boolean

Attempts to pause the task.

abstract boolean

Attempts to resume this task.

Inherited methods

Fromcom.google.firebase.storage.CancellableTask
abstract @NonNullCancellableTask<StateT>

Adds a listener that is called periodically while the ControllableTask executes.

abstract @NonNullCancellableTask<StateT>

Adds a listener that is called periodically while the ControllableTask executes.

abstract @NonNullCancellableTask<StateT>

Adds a listener that is called periodically while the ControllableTask executes.

abstract boolean

Attempts to cancel the task.

abstract boolean
abstract boolean
Fromcom.google.android.gms.tasks.Task
Task<TResult>
Task<TResult>
abstractTask<TResult>
abstractTask<TResult>
Task<TContinuationResult>
<TContinuationResult>continueWith(
    Continuation<TResult, TContinuationResult> p
)
Task<TContinuationResult>
<TContinuationResult>continueWithTask(
    Continuation<TResult, Task<TContinuationResult>> p
)
abstractException
abstract TResult
abstract boolean
abstract boolean
abstract boolean
Task<TContinuationResult>
<TContinuationResult>onSuccessTask(
    SuccessContinuation<TResult, TContinuationResult> p
)

Public constructors

ControllableTask

public ControllableTask()

Public methods

addOnPausedListener

public abstract @NonNullControllableTask<StateT> addOnPausedListener(@NonNullOnPausedListener<Object> listener)

Adds a listener that is called when the Task becomes paused.

Returns
@NonNullControllableTask<StateT>

this Task

addOnPausedListener

public abstract @NonNullControllableTask<StateT> addOnPausedListener(
    @NonNullActivity activity,
    @NonNullOnPausedListener<Object> listener
)

Adds a listener that is called when the Task becomes paused.

Parameters
@NonNullActivity activity

When the suppliedActivity stops, this listener will automatically be removed.

Returns
@NonNullControllableTask<StateT>

this Task

addOnPausedListener

public abstract @NonNullControllableTask<StateT> addOnPausedListener(
    @NonNullExecutor executor,
    @NonNullOnPausedListener<Object> listener
)

Adds a listener that is called when the Task becomes paused.

Parameters
@NonNullExecutor executor

the executor to use to call the listener

Returns
@NonNullControllableTask<StateT>

this Task

isPaused

public abstract boolean isPaused()
Returns
boolean

true if the task has been paused.

pause

public abstract boolean pause()

Attempts to pause the task. A paused task can later be resumed.

Returns
boolean

true if this task was successfully paused or is in the process of being paused. Returns false if the task is already completed or in a state that cannot be paused.

resume

public abstract boolean resume()

Attempts to resume this task.

Returns
boolean

true if the task is successfully resumed or is in the process of being resumed. Returns false if the task is already completed or in a state that cannot be resumed.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-07-21 UTC.