immich/mobile/lib/providers
JobiJoba 8733d1e554
feat(mobile): add bulk download functionality (#18878)
* feat(mobile): add bulk download functionality and update UI messages

- Added `downloadAll` method to `IDownloadRepository` and its implementation in `DownloadRepository` to handle multiple asset downloads.
- Implemented `downloadAllAsset` in `DownloadStateNotifier` to trigger bulk downloads.
- Updated `DownloadService` to create download tasks for all selected assets.
- Enhanced UI with new download success and failure messages in `en.json`.
- Added download button to `ControlBottomAppBar` and integrated download functionality in `MultiselectGrid`.

* translations use i18n method t()

* Update mobile/lib/services/download.service.dart

Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>

* fix(mobile): update download logic in DownloadService

- Changed the download method to utilize downloadAll for handling multiple tasks.
- Simplified remoteId check by removing unnecessary condition.

* sort i18n keys

* remove the download signature from interface and logic as we use the downloadAll now

---------

Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>
2025-06-04 09:49:43 -05:00
..
album feat(mobile): use Weblate for i18n (2) (#17620) 2025-04-15 15:54:26 +00:00
asset_viewer feat(mobile): add bulk download functionality (#18878) 2025-06-04 09:49:43 -05:00
backup fix(mobile): empty translation placeholders (#18063) 2025-05-06 09:21:05 -04:00
image perf(mobile): remove small thumbnail and cache generated thumbnails (#17792) 2025-04-23 10:31:35 -05:00
infrastructure feat: delta sync (#18428) 2025-05-29 10:42:00 -05:00
map fix: mobile user agent set to immich_platform_version (#18478) 2025-05-22 10:35:24 -05:00
search fix(mobile): recently added -> taken (#17780) 2025-04-23 12:38:25 +01:00
activity.provider.dart chore: flutter 3.29.1 (#16730) 2025-03-10 21:46:36 -05:00
activity.provider.g.dart chore(mobile): upgrade riverpod (#16742) 2025-03-09 20:30:58 -05:00
activity_service.provider.dart chore(mobile): upgrade riverpod (#16742) 2025-03-09 20:30:58 -05:00
activity_service.provider.g.dart chore(mobile): generated files and ci check (#16798) 2025-03-11 12:22:31 +00:00
activity_statistics.provider.dart chore: flutter 3.29.1 (#16730) 2025-03-10 21:46:36 -05:00
activity_statistics.provider.g.dart chore(mobile): upgrade riverpod (#16742) 2025-03-09 20:30:58 -05:00
api.provider.dart chore(mobile): upgrade riverpod (#16742) 2025-03-09 20:30:58 -05:00
api.provider.g.dart chore(mobile): generated files and ci check (#16798) 2025-03-11 12:22:31 +00:00
app_life_cycle.provider.dart fix(mobile): show new local assets in offline mode (#16817) 2025-03-24 16:56:18 +00:00
app_settings.provider.dart chore(mobile): upgrade riverpod (#16742) 2025-03-09 20:30:58 -05:00
app_settings.provider.g.dart chore(mobile): generated files and ci check (#16798) 2025-03-11 12:22:31 +00:00
asset.provider.dart feat: locked view mobile (#18316) 2025-05-20 13:35:22 +00:00
auth.provider.dart chore: remove PIN code from secure storage on logged out (#18393) 2025-05-20 14:39:05 +00:00
background_sync.provider.dart feat: user sync stream (#16862) 2025-04-17 10:25:27 -05:00
db.provider.dart refactor(mobile): services and providers (#9232) 2024-05-02 15:59:14 -05:00
folder.provider.dart feat(mobile): Folder View for mobile (#15047) 2025-03-06 17:27:43 +00:00
gallery_permission.provider.dart fix(mobile): fix typos (#16456) 2025-03-01 20:06:47 +00:00
haptic_feedback.provider.dart refactor(mobile): services and providers (#9232) 2024-05-02 15:59:14 -05:00
immich_logo_provider.dart chore(mobile): upgrade riverpod (#16742) 2025-03-09 20:30:58 -05:00
immich_logo_provider.g.dart chore(mobile): generated files and ci check (#16798) 2025-03-11 12:22:31 +00:00
local_auth.provider.dart feat: locked view mobile (#18316) 2025-05-20 13:35:22 +00:00
locale_provider.dart feat(mobile): exclude locales from overpass font (#14158) 2024-11-19 09:36:46 -06:00
memory.provider.dart refactor(mobile): services and providers (#9232) 2024-05-02 15:59:14 -05:00
multiselect.provider.dart refactor(mobile): services and providers (#9232) 2024-05-02 15:59:14 -05:00
network.provider.dart feat(mobile): Auto switching server URLs (#14437) 2024-12-05 09:11:48 -06:00
notification_permission.provider.dart refactor(mobile): services and providers (#9232) 2024-05-02 15:59:14 -05:00
oauth.provider.dart refactor(mobile): services and providers (#9232) 2024-05-02 15:59:14 -05:00
partner.provider.dart refactor: user entity (#16655) 2025-03-12 08:56:56 -05:00
routes.provider.dart feat: locked view mobile (#18316) 2025-05-20 13:35:22 +00:00
secure_storage.provider.dart feat: locked view mobile (#18316) 2025-05-20 13:35:22 +00:00
server_info.provider.dart feat(mobile): Auto switching server URLs (#14437) 2024-12-05 09:11:48 -06:00
shared_link.provider.dart refactor(mobile): services and providers (#9232) 2024-05-02 15:59:14 -05:00
tab.provider.dart feat(mobile): new mobile UI (#12582) 2024-10-10 15:44:14 +07:00
theme.provider.dart refactor(mobile): refactor theme management (#14415) 2024-12-11 16:30:56 +00:00
timeline.provider.dart feat: locked view mobile (#18316) 2025-05-20 13:35:22 +00:00
trash.provider.dart refactor(mobile): render list (#16239) 2025-02-21 09:01:46 -06:00
upload_profile_image.provider.dart refactor(mobile): move user service to domain (#16782) 2025-03-13 22:20:26 -05:00
user.provider.dart fix(mobile): prevent unnecessary reload on multi user timeline (#17418) 2025-04-06 22:04:13 -05:00
websocket.provider.dart fix(mobile): auto trash using MANAGE_MEDIA (#17828) 2025-04-24 19:09:50 -05:00