feat: Download a transfer or folder with api v2#618
Conversation
PR Reviewer Guide 🔍(Review updated until commit 23554ac)Here are some key observations to aid the review process:
|
|
Persistent review updated to latest commit 23554ac |
There was a problem hiding this comment.
Pull request overview
This PR adds support for downloading an entire transfer or a folder when using SwissTransfer API v2, shifting those downloads to a WorkManager-based implementation while keeping legacy behavior for API v1.
Changes:
- Bump
swisstransferdependency to7.1.1and add Ktor network dependency. - Introduce
DownloadWorker+AppDownloadManagerto download transfers/folders in the background and report progress via notifications. - Update UI/viewmodels and helpers to route API v2 download/preview flows through the new scheduler and add new strings for download notifications.
Reviewed changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| gradle/libs.versions.toml | Bumps SwissTransfer library version. |
| app/build.gradle.kts | Adds Ktor dependency needed for new download implementation. |
| app/src/main/res/values*/strings.xml | Adds new strings for download notifications and “Feedback” button across locales. |
| app/src/main/java/com/infomaniak/swisstransfer/ui/utils/TransferUiExt.kt | Adds displayTitle helper for transfer display naming. |
| app/src/main/java/com/infomaniak/swisstransfer/ui/utils/NotificationsUtils.kt | Adds a download notification channel and download success/progress notifications. |
| app/src/main/java/com/infomaniak/swisstransfer/ui/screen/newtransfer/filesdetails/FilesDetailsViewModel.kt | Injects DownloadWorker.Scheduler and passes it to preview/download flows. |
| app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/transferdetails/TransferManagerExt.kt | Routes preview URI/status handling based on API version. |
| app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/transferdetails/TransferDownload.kt | Switches v2 transfer/folder downloads to worker-based scheduling and updates open/delete handling. |
| app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/transferdetails/TransferDetailsViewModel.kt | Injects scheduler and wires it into preview/download flows. |
| app/src/main/java/com/infomaniak/swisstransfer/ui/screen/main/transferdetails/TransferDetailsScreen.kt | Enables download action in the top app bar for sent transfers. |
| app/src/main/java/com/infomaniak/swisstransfer/ui/components/transfer/TransferItem.kt | Uses displayTitle for transfer list items. |
| app/src/main/java/com/infomaniak/swisstransfer/services/DownloadWorker.kt | New WorkManager worker + scheduler for v2 downloads with foreground progress notifications. |
| app/src/main/java/com/infomaniak/swisstransfer/services/AppDownloadManager.kt | New downloader that streams files into Public Downloads (MediaStore / filesystem). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
38d672d to
cb7ee5f
Compare
0f2ef1a to
83d331a
Compare
Agent-Logs-Url: https://github.com/Infomaniak/android-SwissTransfer/sessions/05dec554-32c4-47cd-b6fd-5808dcc71c9a Co-authored-by: sirambd <28200274+sirambd@users.noreply.github.com>
…n download notification Agent-Logs-Url: https://github.com/Infomaniak/android-SwissTransfer/sessions/51089ddf-2222-42f6-8c5c-2e26cd276222 Co-authored-by: sirambd <28200274+sirambd@users.noreply.github.com>
84336a5 to
b9403b0
Compare
|



No description provided.