public abstract class NetworkBoundResource<T> extends androidx.lifecycle.MediatorLiveData<Resource<T>>
Modifier and Type | Field and Description |
---|---|
protected AppExecutors |
appExecutors |
protected androidx.lifecycle.LiveData<T> |
dbSource |
Constructor and Description |
---|
NetworkBoundResource(AppExecutors appExecutors) |
NetworkBoundResource(AppExecutors appExecutors,
androidx.lifecycle.LiveData<T> dbSource) |
Modifier and Type | Method and Description |
---|---|
protected abstract Result<T> |
createNetworkRequest() |
protected abstract androidx.lifecycle.LiveData<T> |
loadFromDb() |
protected void |
onFetchFailed() |
void |
refresh(RefreshMode refreshMode) |
protected abstract void |
saveRequestResult(T item) |
void |
setValue(Resource<T> newValue) |
protected boolean |
shouldFetch() |
addSource, onActive, onInactive, removeSource
protected final AppExecutors appExecutors
@NonNull protected androidx.lifecycle.LiveData<T> dbSource
@MainThread public NetworkBoundResource(@NonNull AppExecutors appExecutors, @NonNull androidx.lifecycle.LiveData<T> dbSource)
@MainThread public NetworkBoundResource(@NonNull AppExecutors appExecutors)
@MainThread public void refresh(@NonNull RefreshMode refreshMode)
@WorkerThread protected abstract void saveRequestResult(@NonNull T item)
@MainThread protected boolean shouldFetch()
@NonNull @MainThread protected abstract androidx.lifecycle.LiveData<T> loadFromDb()
@MainThread protected void onFetchFailed()