mirror of
https://github.com/permissionlesstech/bitchat-android.git
synced 2026-08-15 06:56:30 +00:00
Replaces the ViewModel-scoped coroutine download with a WorkManager-backed downloader so downloads survive app backgrounding and process death: - New ApkDownloader interface with WorkManagerApkDownloader implementation and ApkDownloadWorker (CoroutineWorker); transient IO errors return Result.retry() and resume via HTTP Range requests from the partial file. - UniversalApkManager gains resume support (Range header + persisted resume metadata) and verifies the downloaded APK is signed with the same certificate as the running app (no hardcoded fingerprint; debug-signed builds skip enforcement). - APK downloads now go through the shared OkHttpProvider so they respect the app's Tor proxy configuration instead of leaking the direct IP. - AboutSheet logic extracted into ApkDownloadViewModel (MVI: state/event/ effect), removing ~240 lines of UI-embedded logic. - Removes unused ApkInstaller (receivers install via the system installer). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>