ListenableFutureRemoteMediator
-
android
@ExperimentalPagingApi
abstract class ListenableFutureRemoteMediator<Key : Any, Value : Any> : RemoteMediator
ListenableFuture-based compatibility wrapper around RemoteMediator's suspending APIs.
Summary
Public constructors |
|
|---|---|
<Key : Any, Value : Any> ListenableFutureRemoteMediator() |
android
|
Public functions |
||
|---|---|---|
final suspend RemoteMediator.InitializeAction |
android
|
|
open ListenableFuture<RemoteMediator.InitializeAction> |
Callback fired during initialization of a |
android
|
final suspend RemoteMediator.MediatorResult |
load(loadType: LoadType, state: PagingState<Key, Value>) |
android
|
abstract ListenableFuture<RemoteMediator.MediatorResult> |
loadFuture(loadType: LoadType, state: PagingState<Key, Value>)Implement this method to load additional remote data, which will then be stored for the |
android
|
Public constructors
Public functions
initializeFuture
open fun initializeFuture(): ListenableFuture<RemoteMediator.InitializeAction>
Callback fired during initialization of a PagingData stream, before initial load.
This function runs to completion before any loading is performed.
| Returns | |
|---|---|
ListenableFuture<RemoteMediator.InitializeAction> |
InitializeAction indicating the action to take after initialization: * |
load
final suspend fun load(loadType: LoadType, state: PagingState<Key, Value>): RemoteMediator.MediatorResult
loadFuture
abstract fun loadFuture(loadType: LoadType, state: PagingState<Key, Value>): ListenableFuture<RemoteMediator.MediatorResult>
Implement this method to load additional remote data, which will then be stored for the PagingSource to access. These loads take one of two forms: * type == LoadType.PREPEND / LoadType.APPEND The PagingSource has loaded a 'boundary' page, with a null adjacent key. This means this method should load additional remote data to append / prepend as appropriate, and store it locally.
-
type ==
LoadType.REFRESHThe app (orinitialize) has requested a remote refresh of data. This means the method should generally load remote data, and replace all local data.
The runtime of this method defines loading state behavior in boundary conditions, which affects e.g., LoadState callbacks registered to androidx.paging.PagingDataAdapter.
NOTE: A PagingSource.load request which is fulfilled by a page that hits a boundary condition in either direction will trigger this callback with LoadType.PREPEND or LoadType.APPEND or both. LoadType.REFRESH occurs as a result of initialize.
| Parameters | |
|---|---|
loadType: LoadType |
|
state: PagingState<Key, Value> |
A copy of the state including the list of pages currently held in memory of the currently presented |
| Returns | |
|---|---|
ListenableFuture<RemoteMediator.MediatorResult> |
MediatorResult signifying what |