Skip to content

feat: implement in-app automatic update downloader#587

Merged
sameerasw merged 2 commits into
mainfrom
develop
Jul 21, 2026
Merged

feat: implement in-app automatic update downloader#587
sameerasw merged 2 commits into
mainfrom
develop

Conversation

@sameerasw

Copy link
Copy Markdown
Owner

This pull request introduces a comprehensive auto-update system for the app, including background update checks, user notifications, and streamlined update installation. It adds a new dependency for update management, integrates update logic into the UI, and introduces new services and receivers to handle update downloads and notifications.

Auto-update infrastructure:

  • Added the AutoUpdater library dependency to manage update checks and installations. (app/build.gradle.kts)
  • Introduced AppUpdateWorker for periodic background update checks, which notifies users if an update is available and updates cached state. (app/src/main/java/com/sameerasw/essentials/services/AppUpdateWorker.kt)
  • Added DownloadUpdateReceiver to handle update download and installation requests via broadcast intents. (app/src/main/java/com/sameerasw/essentials/services/receivers/DownloadUpdateReceiver.kt, AndroidManifest.xml) [1] [2]

Update checking and notification logic:

  • Enhanced UpdateRepository to use AutoUpdateManagerHelper for update checks, fallback to GitHub if needed, and improved error handling. (app/src/main/java/com/sameerasw/essentials/data/repository/UpdateRepository.kt) [1] [2] [3]
  • Registered the REQUEST_INSTALL_PACKAGES permission for update installations. (app/src/main/java/com/sameerasw/essentials/domain/registry/PermissionRegistry.kt)

UI improvements for updates:

  • Updated both MainActivity and SettingsActivity to display update status, show animated badges when updates are available, and provide a button to check for or install updates. (app/src/main/java/com/sameerasw/essentials/MainActivity.kt, app/src/main/java/com/sameerasw/essentials/SettingsActivity.kt) [1] [2] [3] [4] [5] [6] [7]

These changes together enable seamless update management, improve user experience around updates, and lay the groundwork for future enhancements to the app's update flow.

@sameerasw sameerasw self-assigned this Jul 21, 2026
@sameerasw sameerasw added the enhancement New feature or request label Jul 21, 2026
@sameerasw
sameerasw merged commit 52248ba into main Jul 21, 2026
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Essentials Progress Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant