mirror of
https://github.com/immich-app/immich
synced 2025-06-07 22:15:45 +00:00

* 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>
16 lines
589 B
Dart
16 lines
589 B
Dart
import 'package:background_downloader/background_downloader.dart';
|
|
|
|
abstract interface class IDownloadRepository {
|
|
void Function(TaskStatusUpdate)? onImageDownloadStatus;
|
|
void Function(TaskStatusUpdate)? onVideoDownloadStatus;
|
|
void Function(TaskStatusUpdate)? onLivePhotoDownloadStatus;
|
|
void Function(TaskProgressUpdate)? onTaskProgress;
|
|
|
|
Future<List<TaskRecord>> getLiveVideoTasks();
|
|
Future<List<bool>> downloadAll(List<DownloadTask> tasks);
|
|
|
|
Future<bool> cancel(String id);
|
|
Future<void> deleteAllTrackingRecords();
|
|
Future<void> deleteRecordsWithIds(List<String> id);
|
|
}
|