Package fi.moprim.tmd.sdk.data
Class NetworkBoundResource<T>
- java.lang.Object
-
- androidx.lifecycle.LiveData<T>
-
- androidx.lifecycle.MutableLiveData<T>
-
- androidx.lifecycle.MediatorLiveData<Resource<T>>
-
- fi.moprim.tmd.sdk.data.NetworkBoundResource<T>
-
- Direct Known Subclasses:
ContentObserverNetworkBoundResource
public abstract class NetworkBoundResource<T> extends androidx.lifecycle.MediatorLiveData<Resource<T>>
-
-
Field Summary
Fields Modifier and Type Field Description protected AppExecutors
appExecutors
protected androidx.lifecycle.LiveData<T>
dbSource
-
Constructor Summary
Constructors Constructor Description NetworkBoundResource(java.lang.String tag, AppExecutors appExecutors)
NetworkBoundResource(java.lang.String tag, AppExecutors appExecutors, androidx.lifecycle.LiveData<T> dbSource)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description <S> void
addSource(androidx.lifecycle.LiveData<S> source, androidx.lifecycle.Observer<? super S> onChanged)
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()
-
-
-
Field Detail
-
appExecutors
protected final AppExecutors appExecutors
-
dbSource
@NonNull protected androidx.lifecycle.LiveData<T> dbSource
-
-
Constructor Detail
-
NetworkBoundResource
@MainThread public NetworkBoundResource(@NonNull java.lang.String tag, @NonNull AppExecutors appExecutors, @NonNull androidx.lifecycle.LiveData<T> dbSource)
-
NetworkBoundResource
@MainThread public NetworkBoundResource(@NonNull java.lang.String tag, @NonNull AppExecutors appExecutors)
-
-
Method Detail
-
refresh
@MainThread public void refresh(@NonNull RefreshMode refreshMode)
-
addSource
public <S> void addSource(@NonNull androidx.lifecycle.LiveData<S> source, @NonNull androidx.lifecycle.Observer<? super S> onChanged)
-
saveRequestResult
@WorkerThread protected abstract void saveRequestResult(@NonNull T item)
-
shouldFetch
@MainThread protected boolean shouldFetch()
-
loadFromDb
@NonNull @MainThread protected abstract androidx.lifecycle.LiveData<T> loadFromDb()
-
onFetchFailed
@MainThread protected void onFetchFailed()
-
-