diff --git a/mobile/lib/services/collections_service.dart b/mobile/lib/services/collections_service.dart index 881c28b20..8aca89c20 100644 --- a/mobile/lib/services/collections_service.dart +++ b/mobile/lib/services/collections_service.dart @@ -1148,7 +1148,14 @@ class CollectionsService { return collection; } - Future addToCollection(int collectionID, List files) async { + Future addOrCopyToCollection( + int collectionID, + List files, + ) async { + return _addToCollection(collectionID, files); + } + + Future _addToCollection(int collectionID, List files) async { final containsUploadedFile = files.any((e) => e.isUploaded); if (containsUploadedFile) { final existingFileIDsInCollection = diff --git a/mobile/lib/services/favorites_service.dart b/mobile/lib/services/favorites_service.dart index 5388a6e67..c5ec0e851 100644 --- a/mobile/lib/services/favorites_service.dart +++ b/mobile/lib/services/favorites_service.dart @@ -137,7 +137,7 @@ class FavoritesService { await _filesDB.insert(file); Bus.instance.fire(CollectionUpdatedEvent(collectionID, files, "addTFav")); } else { - await _collectionsService.addToCollection(collectionID, files); + await _collectionsService.addOrCopyToCollection(collectionID, files); } _updateFavoriteFilesCache(files, favFlag: true); RemoteSyncService.instance.sync(silently: true).ignore(); @@ -157,7 +157,7 @@ class FavoritesService { } final collectionID = await _getOrCreateFavoriteCollectionID(); if (favFlag) { - await _collectionsService.addToCollection(collectionID, files); + await _collectionsService.addOrCopyToCollection(collectionID, files); } else { final Collection? favCollection = await _getFavoritesCollection(); await _collectionActions.moveFilesFromCurrentCollection( diff --git a/mobile/lib/ui/actions/collection/collection_file_actions.dart b/mobile/lib/ui/actions/collection/collection_file_actions.dart index 8315c235b..81b79825a 100644 --- a/mobile/lib/ui/actions/collection/collection_file_actions.dart +++ b/mobile/lib/ui/actions/collection/collection_file_actions.dart @@ -184,7 +184,8 @@ extension CollectionFileActions on CollectionActions { } } if (files.isNotEmpty) { - await CollectionsService.instance.addToCollection(collectionID, files); + await CollectionsService.instance + .addOrCopyToCollection(collectionID, files); } unawaited(RemoteSyncService.instance.sync(silently: true)); await dialog?.hide(); diff --git a/mobile/lib/ui/actions/collection/collection_sharing_actions.dart b/mobile/lib/ui/actions/collection/collection_sharing_actions.dart index dc28197bd..7993c4342 100644 --- a/mobile/lib/ui/actions/collection/collection_sharing_actions.dart +++ b/mobile/lib/ui/actions/collection/collection_sharing_actions.dart @@ -140,7 +140,7 @@ class CollectionActions { req, ); logger.finest("adding files to share to new album"); - await collectionsService.addToCollection(collection.id, files); + await collectionsService.addOrCopyToCollection(collection.id, files); logger.finest("creating public link for the newly created album"); await CollectionsService.instance.createShareUrl(collection); await dialog.hide(); diff --git a/mobile/lib/utils/file_uploader.dart b/mobile/lib/utils/file_uploader.dart index d877ce522..adf5847f3 100644 --- a/mobile/lib/utils/file_uploader.dart +++ b/mobile/lib/utils/file_uploader.dart @@ -172,7 +172,7 @@ class FileUploader { ); return CollectionsService.instance - .addToCollection(collectionID, [uploadedFile]).then((aVoid) { + .addOrCopyToCollection(collectionID, [uploadedFile]).then((aVoid) { return uploadedFile; }); });