CombinedLoadStates
public final class CombinedLoadStates
Collection of pagination LoadStates for both a PagingSource, and RemoteMediator.
Note: The REFRESHLoadType.REFRESH always has LoadState.endOfPaginationReached set to false.
Summary
Public constructors |
|---|
CombinedLoadStates( |
Public methods |
|
|---|---|
boolean |
|
final @NonNull LoadState |
Convenience for combined behavior of |
final LoadStates |
|
final @NonNull LoadState |
Convenience for combined behavior of |
final @NonNull LoadState |
Convenience for combined behavior of |
final @NonNull LoadStates |
|
final boolean |
hasError()Returns true if either |
int |
hashCode() |
final boolean |
isIdle()Returns true when |
@NonNull String |
toString() |
Public constructors
CombinedLoadStates
public CombinedLoadStates(
@NonNull LoadState refresh,
@NonNull LoadState prepend,
@NonNull LoadState append,
@NonNull LoadStates source,
LoadStates mediator
)
Public methods
getAppend
public final @NonNull LoadState getAppend()
Convenience for combined behavior of APPEND LoadState, which generally defers to mediator if it exists, but if previously was LoadState.Loading, awaits for both source and mediator to become LoadState.NotLoading to ensure the remote load was applied.
For use cases that require reacting to LoadState of source and mediator specifically, e.g., showing cached data when network loads via mediator fail, LoadStates exposed via source and mediator should be used directly.
getMediator
public final LoadStates getMediator()
LoadStates corresponding to loads from a RemoteMediator, or null if RemoteMediator not present.
getPrepend
public final @NonNull LoadState getPrepend()
Convenience for combined behavior of PREPEND LoadState, which generally defers to mediator if it exists, but if previously was LoadState.Loading, awaits for both source and mediator to become LoadState.NotLoading to ensure the remote load was applied.
For use cases that require reacting to LoadState of source and mediator specifically, e.g., showing cached data when network loads via mediator fail, LoadStates exposed via source and mediator should be used directly.
getRefresh
public final @NonNull LoadState getRefresh()
Convenience for combined behavior of REFRESH LoadState, which generally defers to mediator if it exists, but if previously was LoadState.Loading, awaits for both source and mediator to become LoadState.NotLoading to ensure the remote load was applied.
For use cases that require reacting to LoadState of source and mediator specifically, e.g., showing cached data when network loads via mediator fail, LoadStates exposed via source and mediator should be used directly.
getSource
public final @NonNull LoadStates getSource()
LoadStates corresponding to loads from a PagingSource.
hasError
public final boolean hasError()
Returns true if either source or mediator has a LoadType that is in LoadState.Error