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
Scenario: Let's say I've loaded 3 pages with page size 20: (0, 20), (20, 20), (40, 20)
And now some data got updated in the database and let's say the user was on the second page then we will receive the following event in the update callback.
The issue is when we receive the first event and call collectionView.deleteItems for (40, 20), the number of items will mismatch with the data source as here collection view would expect 60-20 = 40 rows but only 20 rows are available. Also, we cannot batch these operations as they are triggered individually.
Please help how I can batch these operations so that I can use something like:
That's a great question. We'd need some sort of callback telling us that the batch of item updates has completed, and from what I can tell, it's not currently possible do that with the existing AndroidX Paging API.
@claraf3 I know you've been looking at potentially changing these APIs. I think this'd be a really important addition to the API, because, as @mukesh-mt mentions, certain item updates will cause the app to crash on iOS. What are your thoughts on this?
If those callbacks were from a single event (i.e. REFRESH), then our addOnPagesUpdatedListener might be what you're looking for. It is a callback that triggers after an insert/drop event.
Otherwise, we currently don't have the infrastructure to definitively map multiple load events to a single user input. This was something we considered adding in the future (i.e. batching LoadStateUpdates or data updates). That work is beyond the scope of the current API changes, but I think it makes sense to factor that into our current work.
I think we'll need the latter, i.e., "have the infrastructure to definitively map multiple load events to a single user input." The performBatchUpdates call that @mukesh-mt mentioned would exist within the library in PagingCollectionViewController, and it should work for any type of batched update.
Scenario: Let's say I've loaded 3 pages with page size 20: (0, 20), (20, 20), (40, 20)
And now some data got updated in the database and let's say the user was on the second page then we will receive the following event in the update callback.
onRemoved: 40, 20
onChanged: 20, 20
onRemoved: 0, 20
The issue is when we receive the first event and call
collectionView.deleteItems
for (40, 20), the number of items will mismatch with the data source as here collection view would expect 60-20 = 40 rows but only 20 rows are available. Also, we cannot batch these operations as they are triggered individually.Please help how I can batch these operations so that I can use something like:
The text was updated successfully, but these errors were encountered: