Skip DownloadProvider's auto-install when downloading from version picker,
since AppDetailsScreen has its own auto-install logic that properly calls
fetchInstalledApps() and updates the UI. This prevents race conditions and
ensures the button state updates correctly after installation.
Co-authored-by: Nandanrmenon <16499541+Nandanrmenon@users.noreply.github.com>
- Document why status reverts to 'completed' on error (to allow retry)
- Explain architectural constraint for the delay workaround
- Clarify that delay gives UI time to call fetchInstalledApps()
Co-authored-by: Nandanrmenon <16499541+Nandanrmenon@users.noreply.github.com>
- Remove trailing whitespace for consistency
- Extract magic number to named constant _shizukuInstallSettleDelay
- Add warning log when downloadInfo is null to help debug edge cases
Co-authored-by: Nandanrmenon <16499541+Nandanrmenon@users.noreply.github.com>
Add 2-second delay after Shizuku installation completes before reverting status
back to 'completed'. This gives the UI time to call fetchInstalledApps() and
update the button state to show the app as installed, preventing the button
from briefly showing 'Install' again after installation succeeds.
Co-authored-by: Nandanrmenon <16499541+Nandanrmenon@users.noreply.github.com>
- Add 'installing' status to DownloadStatus enum
- Update installApk to accept packageName and versionName parameters
- Set status to 'installing' before installation and back to 'completed' after
- Add UI state in _VersionDownloadButton to show "Installing..." with progress indicator
- Update all installApk calls to pass required parameters
- Notify listeners when status changes to trigger UI rebuild
Co-authored-by: Nandanrmenon <16499541+Nandanrmenon@users.noreply.github.com>
- Improved comment to explain the bug fix more clearly
- Fixed spelling: 'pre-release' to 'prerelease' for consistency
Co-authored-by: Nandanrmenon <16499541+Nandanrmenon@users.noreply.github.com>
- Fixed _handleInstall to use the specific filtered version when downloading
- Ensures downloads respect per-app unstable version preference
- Changed from copyWith to copyWithVersion to pass only the selected version
Co-authored-by: Nandanrmenon <16499541+Nandanrmenon@users.noreply.github.com>
- Removed includeUnstableVersions from SettingsProvider
- Removed global unstable toggle from settings screen
- Added per-app unstable version toggle in app details (only for installed apps)
- Filter "All Versions" section based on per-app preference
- Show/hide unstable versions based on user's per-app choice
Co-authored-by: Nandanrmenon <16499541+Nandanrmenon@users.noreply.github.com>