java.lang.Object | |
↳ | com.facebook.imagepipeline.producers.BaseConsumer<T> |
![]()
DelegatingConsumer<I, O>
|
![]() |
Base implementation of Consumer that implements error handling conforming to the Consumer's contract.
This class also prevents execution of callbacks if one of final methods was called before: onFinish(isLast = true), onFailure or onCancellation.
All callbacks are executed within a synchronized block, so that clients can act as if all callbacks are called on single thread.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
BaseConsumer() |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
synchronized void |
onCancellation()
Called by a producer whenever it is cancelled and won't produce any more results
| ||||||||||
synchronized void |
onFailure(Throwable t)
Called by a producer whenever it terminates further work due to Throwable being thrown.
| ||||||||||
synchronized void |
onNewResult(T newResult, boolean isLast)
Called by a producer whenever new data is produced.
| ||||||||||
synchronized void |
onProgressUpdate(float progress)
Called when the progress updates.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract void |
onCancellationImpl()
Called by onCancellation, override this method instead
| ||||||||||
abstract void |
onFailureImpl(Throwable t)
Called by onFailure, override this method instead
| ||||||||||
abstract void |
onNewResultImpl(T newResult, boolean isLast)
Called by onNewResult, override this method instead.
| ||||||||||
void |
onProgressUpdateImpl(float progress)
Called when the progress updates
| ||||||||||
void |
onUnhandledException(Exception e)
Called whenever onNewResultImpl or onFailureImpl throw an exception
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() |
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] |
---|
Called by onCancellation, override this method instead
Called by onFailure, override this method instead
Called by onNewResult, override this method instead.
Called when the progress updates
Called whenever onNewResultImpl or onFailureImpl throw an exception