|
|
|
@ -1,21 +1,16 @@
|
|
|
|
import 'package:background_downloader/background_downloader.dart';
|
|
|
|
import 'package:background_downloader/background_downloader.dart';
|
|
|
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
|
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
|
|
import 'package:immich_mobile/interfaces/download.interface.dart';
|
|
|
|
|
|
|
|
import 'package:immich_mobile/utils/download.dart';
|
|
|
|
import 'package:immich_mobile/utils/download.dart';
|
|
|
|
|
|
|
|
|
|
|
|
final downloadRepositoryProvider = Provider((ref) => DownloadRepository());
|
|
|
|
final downloadRepositoryProvider = Provider((ref) => DownloadRepository());
|
|
|
|
|
|
|
|
|
|
|
|
class DownloadRepository implements IDownloadRepository {
|
|
|
|
class DownloadRepository {
|
|
|
|
@override
|
|
|
|
|
|
|
|
void Function(TaskStatusUpdate)? onImageDownloadStatus;
|
|
|
|
void Function(TaskStatusUpdate)? onImageDownloadStatus;
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
|
|
|
void Function(TaskStatusUpdate)? onVideoDownloadStatus;
|
|
|
|
void Function(TaskStatusUpdate)? onVideoDownloadStatus;
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
|
|
|
void Function(TaskStatusUpdate)? onLivePhotoDownloadStatus;
|
|
|
|
void Function(TaskStatusUpdate)? onLivePhotoDownloadStatus;
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
|
|
|
void Function(TaskProgressUpdate)? onTaskProgress;
|
|
|
|
void Function(TaskProgressUpdate)? onTaskProgress;
|
|
|
|
|
|
|
|
|
|
|
|
DownloadRepository() {
|
|
|
|
DownloadRepository() {
|
|
|
|
@ -38,22 +33,18 @@ class DownloadRepository implements IDownloadRepository {
|
|
|
|
);
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
|
|
|
Future<List<bool>> downloadAll(List<DownloadTask> tasks) {
|
|
|
|
Future<List<bool>> downloadAll(List<DownloadTask> tasks) {
|
|
|
|
return FileDownloader().enqueueAll(tasks);
|
|
|
|
return FileDownloader().enqueueAll(tasks);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
|
|
|
Future<void> deleteAllTrackingRecords() {
|
|
|
|
Future<void> deleteAllTrackingRecords() {
|
|
|
|
return FileDownloader().database.deleteAllRecords();
|
|
|
|
return FileDownloader().database.deleteAllRecords();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
|
|
|
Future<bool> cancel(String id) {
|
|
|
|
Future<bool> cancel(String id) {
|
|
|
|
return FileDownloader().cancelTaskWithId(id);
|
|
|
|
return FileDownloader().cancelTaskWithId(id);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
|
|
|
Future<List<TaskRecord>> getLiveVideoTasks() {
|
|
|
|
Future<List<TaskRecord>> getLiveVideoTasks() {
|
|
|
|
return FileDownloader().database.allRecordsWithStatus(
|
|
|
|
return FileDownloader().database.allRecordsWithStatus(
|
|
|
|
TaskStatus.complete,
|
|
|
|
TaskStatus.complete,
|
|
|
|
@ -61,7 +52,6 @@ class DownloadRepository implements IDownloadRepository {
|
|
|
|
);
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
|
|
|
Future<void> deleteRecordsWithIds(List<String> ids) {
|
|
|
|
Future<void> deleteRecordsWithIds(List<String> ids) {
|
|
|
|
return FileDownloader().database.deleteRecordsWithIds(ids);
|
|
|
|
return FileDownloader().database.deleteRecordsWithIds(ids);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|