com.facebook.imagepipeline.producers.Consumer<T> |
![]() |
Consumes data produced by The producer uses this interface to notify its client when new data is ready or an error
occurs. Execution of the image request is structured as a sequence of Producers. Each one
consumes data produced by producer preceding it in the sequence.
For example decode is a producer that consumes data produced by the disk cache get producer.
The consumer is passed new intermediate results via onNewResult(isLast = false) method. Each
consumer should expect that one of the following methods will be called exactly once, as the very
last producer call:
Implementations of this interface must be thread safe, as callback methods might be called
on different threads.Producer
.
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract void |
onCancellation()
Called by a producer whenever it is cancelled and won't produce any more results
| ||||||||||
abstract void |
onFailure(Throwable t)
Called by a producer whenever it terminates further work due to Throwable being thrown.
| ||||||||||
abstract void |
onNewResult(T newResult, boolean isLast)
Called by a producer whenever new data is produced.
| ||||||||||
abstract void |
onProgressUpdate(float progress)
Called when the progress updates.
|
Called by a producer whenever it is cancelled and won't produce any more results
Called by a producer whenever it terminates further work due to Throwable being thrown. This method should not throw an exception.
Called by a producer whenever new data is produced. This method should not throw an exception.
In case when result is closeable resource producer will close it after onNewResult returns. Consumer needs to make copy of it if the resource must be accessed after that. Fortunately, with CloseableReferences, that should not impose too much overhead.
isLast | true if newResult is the last result |
---|
Called when the progress updates.
progress | in range [0, 1] |
---|