Skip to content

Conversation

@Medformatik
Copy link

Show download and install progress for each app in the updates tab when using "Update all". Extracts DownloadStatus to a shared sealed interface used by both AppListAdapter and AppDetailAdapter.

Related issues:

Show download and install progress for each app in the updates tab
when using "Update All". Extracts DownloadStatus to a shared sealed
interface used by both AppListAdapter and AppDetailAdapter.
@Iamlooker
Copy link
Member

Can you also share a screenshot, or a screen recording of this. It would be helpful

@Iamlooker
Copy link
Member

Thanks a lot for the PR btw

@Medformatik
Copy link
Author

screen-20260117-092309-1768638159531.mp4

@Iamlooker Iamlooker changed the base branch from main to feat/udpate-progress January 17, 2026 08:27
@Iamlooker
Copy link
Member

I will be pointing this to a new branch so I can do some UI changes

Awesome work man

@Iamlooker Iamlooker merged commit cf8bf73 into Droid-ify:feat/udpate-progress Jan 17, 2026
@Medformatik Medformatik deleted the feature/app-list-progress-indicator branch January 17, 2026 08:38
@Iamlooker
Copy link
Member

In my testing this does not feel stable. I encountered following issues:

  • Install status is not shown on initial load
  • After installation the whole app item disappears sometime (even from Explore page)
  • Does not properly show the Installing state

@Medformatik
Copy link
Author

Sorry for not noticing those problems. I'll take another look at it.

@Medformatik
Copy link
Author

I've investigated and fixed all three issues:

  1. Install status not shown on initial load
    The sample(200) on the download state flow was delaying the first emission. Now we process the initial state immediately when the service binds, then sample subsequent updates.

  2. App items disappearing
    This was caused by a race condition between download and install states. When a download completes, it sets Idle status. But due to sampling, this could arrive after the install state had already set PendingInstall, overwriting it and causing a visual glitch.
    Fixed by separating download and install status tracking in the adapter, with install status taking priority. This ensures the Installing indicator stays visible even if a delayed download Idle update arrives.

  3. Installing state not shown properly
    InstallState.Pending was incorrectly mapped to DownloadStatus.Pending (waiting to download) instead of DownloadStatus.PendingInstall (waiting to install). This meant the UI showed the wrong indicator after download completed.

Additionally, I added tracking for active packages to properly clean up stale statuses when packages are removed from the queue without going through normal completion.

I have opened up a follow-up PR for this #1178.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants