MutableIviDataSource
Base class for IviDataSource implementations that contains the code to load data from a data source.
When the data source is changed, invalidateAllPagingSources can be called to invalidate all active MutableIviPagingSource. This will inform all clients about the invalidation. This allows clients to recreate the MutableIviPagingSource.
Properties
true
if this IviDataSource supports jumping, false
otherwise.
true
if IviPagingSource created by createPagingSource or createPagingSourceFlow expects to re-use keys to load distinct pages without a call to invalidate, false
otherwise. See PagingSource.keyReuseSupported for details.
Functions
Creates an IviPagingSource for the given query. The page source is invalidated when the given coroutineScope is cancelled.
Same as createPagingSource except that this variant returns a Flow. The benefit of this variant is that it does not require a LifecycleOwner as we can use the Flow cancellation to invalidate the IviPagingSource. This variant is ideal for creating a Flow/LiveData transformation.
Utility function to invalidate all created MutableIviPagingSources. This is to be called when the data set is changed.