Operation
interface Operation
An object that provides information about the execution of an asynchronous command being performed by WorkManager. Operations are generally tied to enqueue or cancel commands; when you call one of those commands, they occur asynchronously. You can observe or await these commands by using the returned Operation.
Summary
Nested types |
|---|
abstract class Operation.StateThe lifecycle state of an |
|
This represents an |
|
This represents an |
|
This represents an |
Public functions |
|
|---|---|
ListenableFuture<Operation.State.SUCCESS!> |
Gets a |
LiveData<Operation.State!> |
getState() |
Extension functions |
|
|---|---|
suspend inline Operation.State.SUCCESS |
Awaits an |
Public functions
getResult
fun getResult(): ListenableFuture<Operation.State.SUCCESS!>
Gets a ListenableFuture for the terminal state of the Operation. This will only resolve with a State.SUCCESS. The State.FAILURE state will come through as a Throwable on the ListenableFuture. State.IN_PROGRESS will never be reported as it's not a terminal state.
Call get to block until the Operation reaches a terminal state.
| Returns | |
|---|---|
ListenableFuture<Operation.State.SUCCESS!> |
A |
Extension functions
await
suspend inline fun Operation.await(): Operation.State.SUCCESS
Awaits an Operation without blocking a thread.
This method returns the terminal state of the [Operation] which is [Operation.State.SUCCESS] or throws a [Throwable] that represents why the [Operation] failed.