public final class ErrorRequestCoordinator extends Object implements RequestCoordinator, Request
Request
until it completes and then a fallback error request only
if the single primary request fails.Constructor and Description |
---|
ErrorRequestCoordinator(RequestCoordinator parent) |
Modifier and Type | Method and Description |
---|---|
void |
begin()
Starts an asynchronous load.
|
boolean |
canNotifyCleared(Request request)
|
boolean |
canNotifyStatusChanged(Request request)
Returns true if the
Request can display a placeholder. |
boolean |
canSetImage(Request request)
Returns true if the
Request can display a loaded bitmap. |
void |
clear()
Prevents any bitmaps being loaded from previous requests, releases any resources held by this
request, displays the current placeholder if one was provided, and marks the request as having
been cancelled.
|
boolean |
isAnyResourceSet()
Returns true if any coordinated
Request has successfully completed. |
boolean |
isCancelled()
Returns true if the request has been cancelled.
|
boolean |
isComplete()
Returns true if the request has completed successfully.
|
boolean |
isEquivalentTo(Request o)
|
boolean |
isFailed()
Returns true if the request has failed.
|
boolean |
isPaused()
Returns true if this request is paused and may be restarted.
|
boolean |
isResourceSet()
Returns true if a non-placeholder resource is put.
|
boolean |
isRunning()
Returns true if this request is running and has not completed or failed.
|
void |
onRequestFailed(Request request)
Must be called when a
Request coordinated by this object fails. |
void |
onRequestSuccess(Request request)
Must be called when a
Request coordinated by this object completes successfully. |
void |
pause()
Identical to
Request.clear() except that the request may later be restarted. |
void |
recycle()
Recycles the request object and releases its resources.
|
void |
setRequests(Request primary,
Request error) |
public ErrorRequestCoordinator(@Nullable RequestCoordinator parent)
public void begin()
Request
public void pause()
Request
Request.clear()
except that the request may later be restarted.public void clear()
Request
public boolean isPaused()
Request
public boolean isRunning()
Request
public boolean isComplete()
Request
isComplete
in interface Request
public boolean isResourceSet()
Request
Request.isComplete()
} returns false.isResourceSet
in interface Request
public boolean isCancelled()
Request
isCancelled
in interface Request
public boolean isFailed()
Request
public void recycle()
Request
public boolean isEquivalentTo(Request o)
Request
true
if this Request
is equivalent to the given Request
(has
all of the same options and sizes).
This method is identical to Object.equals(Object)
except that it's specific to
Request
subclasses. We do not use Object.equals(Object)
directly because we
track Request
s in collections like Set
and it's perfectly legitimate
to have two different Request
objects for two different
Target
s (for example). Using a similar but different
method let's us selectively compare Request
objects to each other when it's useful in
specific scenarios.
isEquivalentTo
in interface Request
public boolean canSetImage(Request request)
RequestCoordinator
Request
can display a loaded bitmap.canSetImage
in interface RequestCoordinator
request
- The Request
requesting permission to display a bitmap.public boolean canNotifyStatusChanged(Request request)
RequestCoordinator
Request
can display a placeholder.canNotifyStatusChanged
in interface RequestCoordinator
request
- The Request
requesting permission to display a placeholder.public boolean canNotifyCleared(Request request)
RequestCoordinator
canNotifyCleared
in interface RequestCoordinator
public boolean isAnyResourceSet()
RequestCoordinator
Request
has successfully completed.isAnyResourceSet
in interface RequestCoordinator
Request.isComplete()
public void onRequestSuccess(Request request)
RequestCoordinator
Request
coordinated by this object completes successfully.onRequestSuccess
in interface RequestCoordinator
public void onRequestFailed(Request request)
RequestCoordinator
Request
coordinated by this object fails.onRequestFailed
in interface RequestCoordinator