fix: fix showing progress values (download vs. total size and percentage) on app details screen
Description
This MR fixes the issue when sometimes app installation or update doesn't show progress on app details and list. See the attached screen record for more details.
Screenshots
| Before | After |
|---|---|
| Screen_recording_20251216_165440-App_Lounge | Screen_recording_20251216_172717-App_Lounge |
Technical details
Previously, progress was posted only when downloadingIds.size == cursor.count was true in DownloadProgressLD. When the cursor was partial or null, no progress was emitted, causing the UI to show no progress data, despite available data.
With this fix, removed dependency on cursor row count; always post progress after processing returned rows.
For Home, Search and Updates screen:
When multiple downloads are in flight, show progress in the list by validating progress against all download IDs for an app instead of a single downloadProgress.downloadId.
Previously, validation compared the last cursor row’s downloadId to the app’s ID. With parallel or multi-part downloads, most apps failed validation, so percentage text never updated; UI stayed on “Cancel/Installing” until completion.
Replaced single-ID equality check with set intersection: pull the app’s downloadIdMap keys and accept progress when any of those IDs appears in the aggregated progress maps.
Tests
Issues
https://gitlab.e.foundation/e/os/backlog/-/issues/3800