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>