You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MarketListViewModel.pagedMarketList is a Flow<PagingData<MarketModel>>. Android consumes it with collectAsLazyPagingItems(); SwiftUI has no equivalent.
Scope
In a shared module, a small PagedListPresenter<T> built on Paging common's PagingDataPresenter. It exposes:
items: StateFlow<List<T>>
loadState: StateFlow<CombinedLoadStates>
fun get(index: Int), which triggers the next page the way LazyPagingItems[index] does
refresh() and retry()
SwiftUI's List calls get(index) from onAppear of each row, and .refreshable calls refresh().
Android keeps collectAsLazyPagingItems() and doesn't use the presenter.
commonTest for the presenter, using TestPager/a fake PagingSource.
Likely no longer needed. #389 decided to drop Paging for Markets (RD6): the list is the synced top 250, read from Room as a plain Flow<List<Market>>, with filter and sort in the shared ViewModel. #391 deletes MarketsPagingSource, GetPagedMarketListUseCase and the Paging dependencies, so there's no PagingData left for SwiftUI to consume.
Activity
Kaaveh commentedon Oct 30, 2026
Likely no longer needed. #389 decided to drop Paging for Markets (RD6): the list is the synced top 250, read from Room as a plain
Flow<List<Market>>, with filter and sort in the shared ViewModel. #391 deletesMarketsPagingSource,GetPagedMarketListUseCaseand the Paging dependencies, so there's noPagingDataleft for SwiftUI to consume.Suggest closing this once #391 is merged.
Kaaveh commentedon Nov 1, 2026
Not needed: Markets reads the top 250 from Room as a plain list, so there's no Paging to share (#389 RD6, #391).