Issue 5131 [part 2]: Load category apps on scrolling
Description
Use StreamBundle
and StreamCluster
classes directly and load app list (for a specific category) in small parts, not all apps in one go.
This resolves long wait times for all apps to load and also loads some more apps than was being loaded previously.
Issue(s)
https://gitlab.e.foundation/e/backlog/-/issues/5131
Test environment
Gradle build from branch 5131-load_category_apps_on_scroll, install the apk and test.
Test procedures
Open Categories
tab and select a category which is not labeled "Open Source" or "PWA".
Scrolling to the bottom now shows a loading icon, and when new apps are fetched, the are added at the end of the list.
Scrolling more shows more apps.
Technical details
Previously we were looping over all the links from StreamBundle and StreamClusters, fetching all the data, then showing it.
Now we use RecyclerView scroll listener to detect end of list and load more apps.
Screenshots
Check list
-
Self review -
Test procedure explained -
Tested on fresh install -
Tested applied as an update -
License -
Internal documentation -
User documentation