diff --git a/lib/core/cache/thumbnail_in_memory_cache.dart b/lib/core/cache/thumbnail_in_memory_cache.dart index 281c8fcba..102ba1da3 100644 --- a/lib/core/cache/thumbnail_in_memory_cache.dart +++ b/lib/core/cache/thumbnail_in_memory_cache.dart @@ -2,7 +2,7 @@ import 'dart:typed_data'; import 'package:photos/core/cache/lru_map.dart'; import 'package:photos/core/constants.dart'; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; class ThumbnailInMemoryLruCache { static final LRUMap _map = LRUMap(1000); diff --git a/lib/db/collections_db.dart b/lib/db/collections_db.dart index 836a4fac8..178e81302 100644 --- a/lib/db/collections_db.dart +++ b/lib/db/collections_db.dart @@ -5,7 +5,7 @@ import 'package:path/path.dart'; import 'package:path_provider/path_provider.dart'; import "package:photos/models/api/collection/public_url.dart"; import "package:photos/models/api/collection/user.dart"; -import 'package:photos/models/collection.dart'; +import 'package:photos/models/collection/collection.dart'; import 'package:sqflite/sqflite.dart'; import 'package:sqflite_migration/sqflite_migration.dart'; diff --git a/lib/db/device_files_db.dart b/lib/db/device_files_db.dart index 71d9f2042..ec1074eae 100644 --- a/lib/db/device_files_db.dart +++ b/lib/db/device_files_db.dart @@ -5,7 +5,7 @@ import 'package:photo_manager/photo_manager.dart'; import 'package:photos/db/files_db.dart'; import 'package:photos/models/backup_status.dart'; import 'package:photos/models/device_collection.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/file_load_result.dart'; import 'package:photos/models/upload_strategy.dart'; import 'package:photos/services/local/local_sync_util.dart'; diff --git a/lib/db/files_db.dart b/lib/db/files_db.dart index 1a4948b83..05fd62827 100644 --- a/lib/db/files_db.dart +++ b/lib/db/files_db.dart @@ -6,9 +6,9 @@ import 'package:path/path.dart'; import 'package:path_provider/path_provider.dart'; import "package:photos/extensions/stop_watch.dart"; import 'package:photos/models/backup_status.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/file_load_result.dart'; -import 'package:photos/models/file_type.dart'; +import 'package:photos/models/file/file_type.dart'; import 'package:photos/models/location/location.dart'; import "package:photos/models/metadata/common_keys.dart"; import "package:photos/services/filter/db_filters.dart"; diff --git a/lib/db/trash_db.dart b/lib/db/trash_db.dart index 23c5f4d43..3dea51f07 100644 --- a/lib/db/trash_db.dart +++ b/lib/db/trash_db.dart @@ -5,7 +5,7 @@ import 'package:logging/logging.dart'; import 'package:path/path.dart'; import 'package:path_provider/path_provider.dart'; import 'package:photos/models/file_load_result.dart'; -import 'package:photos/models/trash_file.dart'; +import 'package:photos/models/file/trash_file.dart'; import 'package:sqflite/sqflite.dart'; // The TrashDB doesn't need to flatten and store all attributes of a file. diff --git a/lib/events/collection_updated_event.dart b/lib/events/collection_updated_event.dart index 7c8d0abf4..33cb5d0a0 100644 --- a/lib/events/collection_updated_event.dart +++ b/lib/events/collection_updated_event.dart @@ -1,5 +1,5 @@ import 'package:photos/events/files_updated_event.dart'; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; class CollectionUpdatedEvent extends FilesUpdatedEvent { final int? collectionID; diff --git a/lib/events/files_updated_event.dart b/lib/events/files_updated_event.dart index 1acb20da8..18aa8757b 100644 --- a/lib/events/files_updated_event.dart +++ b/lib/events/files_updated_event.dart @@ -1,5 +1,5 @@ import 'package:photos/events/event.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; class FilesUpdatedEvent extends Event { final List updatedFiles; diff --git a/lib/models/api/collection/create_request.dart b/lib/models/api/collection/create_request.dart index 4b278e5bc..24bf0a9b0 100644 --- a/lib/models/api/collection/create_request.dart +++ b/lib/models/api/collection/create_request.dart @@ -1,4 +1,4 @@ -import 'package:photos/models/collection.dart'; +import 'package:photos/models/collection/collection.dart'; import 'package:photos/services/file_magic_service.dart'; class CreateRequest { diff --git a/lib/models/collection.dart b/lib/models/collection/collection.dart similarity index 100% rename from lib/models/collection.dart rename to lib/models/collection/collection.dart diff --git a/lib/models/collection_file_item.dart b/lib/models/collection/collection_file_item.dart similarity index 100% rename from lib/models/collection_file_item.dart rename to lib/models/collection/collection_file_item.dart diff --git a/lib/models/collection_items.dart b/lib/models/collection/collection_items.dart similarity index 77% rename from lib/models/collection_items.dart rename to lib/models/collection/collection_items.dart index 1a05a392a..7ab679c0b 100644 --- a/lib/models/collection_items.dart +++ b/lib/models/collection/collection_items.dart @@ -1,5 +1,5 @@ -import 'package:photos/models/collection.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/collection/collection.dart'; +import 'package:photos/models/file/file.dart'; class CollectionWithThumbnail { final Collection collection; diff --git a/lib/models/device_collection.dart b/lib/models/device_collection.dart index 34505401d..898d11807 100644 --- a/lib/models/device_collection.dart +++ b/lib/models/device_collection.dart @@ -1,4 +1,4 @@ -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/upload_strategy.dart'; class DeviceCollection { diff --git a/lib/models/duplicate_files.dart b/lib/models/duplicate_files.dart index 37e2c047b..a0d363e07 100644 --- a/lib/models/duplicate_files.dart +++ b/lib/models/duplicate_files.dart @@ -1,6 +1,6 @@ import 'dart:convert'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/services/collections_service.dart'; class DuplicateFilesResponse { diff --git a/lib/models/file/extensions/file_props.dart b/lib/models/file/extensions/file_props.dart new file mode 100644 index 000000000..9881ac6d6 --- /dev/null +++ b/lib/models/file/extensions/file_props.dart @@ -0,0 +1,14 @@ +import "package:photos/models/file/file.dart"; +import "package:photos/models/file/file_type.dart"; + +extension FilePropsExtn on EnteFile { + bool get isLivePhoto => fileType == FileType.livePhoto; + + bool get isMotionPhoto => pubMagicMetadata?.mvi != null; + + bool get isLiveOrMotionPhoto => isLivePhoto || isMotionPhoto; + + bool isOwner(int userID) => (ownerID == null) || (ownerID! == userID); + + bool canEditMetaInfo(int userID) => isUploaded && isOwner(userID); +} diff --git a/lib/models/file.dart b/lib/models/file/file.dart similarity index 99% rename from lib/models/file.dart rename to lib/models/file/file.dart index 74b1e0da0..7de51adb6 100644 --- a/lib/models/file.dart +++ b/lib/models/file/file.dart @@ -6,7 +6,7 @@ import 'package:path/path.dart'; import 'package:photo_manager/photo_manager.dart'; import 'package:photos/core/configuration.dart'; import 'package:photos/core/constants.dart'; -import 'package:photos/models/file_type.dart'; +import 'package:photos/models/file/file_type.dart'; import 'package:photos/models/location/location.dart'; import "package:photos/models/metadata/file_magic.dart"; import 'package:photos/services/feature_flag_service.dart'; diff --git a/lib/models/file_type.dart b/lib/models/file/file_type.dart similarity index 100% rename from lib/models/file_type.dart rename to lib/models/file/file_type.dart diff --git a/lib/models/trash_file.dart b/lib/models/file/trash_file.dart similarity index 88% rename from lib/models/trash_file.dart rename to lib/models/file/trash_file.dart index f311e4c2e..440635afc 100644 --- a/lib/models/trash_file.dart +++ b/lib/models/file/trash_file.dart @@ -1,4 +1,4 @@ -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; class TrashFile extends EnteFile { // time when file was put in the trash for first time diff --git a/lib/models/file_load_result.dart b/lib/models/file_load_result.dart index b98d05a5b..4bbd47029 100644 --- a/lib/models/file_load_result.dart +++ b/lib/models/file_load_result.dart @@ -1,4 +1,4 @@ -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; class FileLoadResult { final List files; diff --git a/lib/models/files_split.dart b/lib/models/files_split.dart index b4bd2e516..d4bbe8adf 100644 --- a/lib/models/files_split.dart +++ b/lib/models/files_split.dart @@ -1,4 +1,4 @@ -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; class FilesSplit { final List pendingUploads; diff --git a/lib/models/filters/gallery_items_filter.dart b/lib/models/filters/gallery_items_filter.dart index 408d35433..8c717846e 100644 --- a/lib/models/filters/gallery_items_filter.dart +++ b/lib/models/filters/gallery_items_filter.dart @@ -1,4 +1,4 @@ -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; class GalleryItemsFilter { bool shouldInclude(EnteFile file) { diff --git a/lib/models/filters/important_items_filter.dart b/lib/models/filters/important_items_filter.dart index 3e4431d4a..06376e99d 100644 --- a/lib/models/filters/important_items_filter.dart +++ b/lib/models/filters/important_items_filter.dart @@ -2,7 +2,7 @@ import 'dart:io'; import 'package:path/path.dart'; import 'package:photos/core/configuration.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/filters/gallery_items_filter.dart'; class ImportantItemsFilter implements GalleryItemsFilter { diff --git a/lib/models/gallery_type.dart b/lib/models/gallery_type.dart index 12f60d203..920eca7b4 100644 --- a/lib/models/gallery_type.dart +++ b/lib/models/gallery_type.dart @@ -1,5 +1,5 @@ import "package:flutter/foundation.dart"; -import "package:photos/models/collection.dart"; +import 'package:photos/models/collection/collection.dart'; enum GalleryType { homepage, diff --git a/lib/models/ignored_file.dart b/lib/models/ignored_file.dart index be29d36c5..44f50cfb4 100644 --- a/lib/models/ignored_file.dart +++ b/lib/models/ignored_file.dart @@ -1,4 +1,4 @@ -import 'package:photos/models/trash_file.dart'; +import 'package:photos/models/file/trash_file.dart'; const kIgnoreReasonTrash = "trash"; diff --git a/lib/models/memory.dart b/lib/models/memory.dart index aed89c3e2..32bc40e13 100644 --- a/lib/models/memory.dart +++ b/lib/models/memory.dart @@ -1,4 +1,4 @@ -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; class Memory { final EnteFile file; diff --git a/lib/models/search/album_search_result.dart b/lib/models/search/album_search_result.dart index 0c20e3528..2d9dea7b4 100644 --- a/lib/models/search/album_search_result.dart +++ b/lib/models/search/album_search_result.dart @@ -1,5 +1,5 @@ -import 'package:photos/models/collection_items.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/collection/collection_items.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/search/search_result.dart'; class AlbumSearchResult extends SearchResult { diff --git a/lib/models/search/file_search_result.dart b/lib/models/search/file_search_result.dart index 0954a12f8..a36c0ec77 100644 --- a/lib/models/search/file_search_result.dart +++ b/lib/models/search/file_search_result.dart @@ -1,4 +1,4 @@ -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/search/search_result.dart'; class FileSearchResult extends SearchResult { diff --git a/lib/models/search/generic_search_result.dart b/lib/models/search/generic_search_result.dart index afa3eac44..abec7db8a 100644 --- a/lib/models/search/generic_search_result.dart +++ b/lib/models/search/generic_search_result.dart @@ -1,5 +1,5 @@ import "package:flutter/cupertino.dart"; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/search/search_result.dart'; class GenericSearchResult extends SearchResult { diff --git a/lib/models/search/search_result.dart b/lib/models/search/search_result.dart index 37b4dff78..f04ce7ee0 100644 --- a/lib/models/search/search_result.dart +++ b/lib/models/search/search_result.dart @@ -1,4 +1,4 @@ -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; abstract class SearchResult { ResultType type(); diff --git a/lib/models/selected_files.dart b/lib/models/selected_files.dart index 81f5a47fe..e37368a89 100644 --- a/lib/models/selected_files.dart +++ b/lib/models/selected_files.dart @@ -2,7 +2,7 @@ import 'package:collection/collection.dart' show IterableExtension; import 'package:flutter/foundation.dart'; import 'package:photos/core/event_bus.dart'; import 'package:photos/events/clear_selections_event.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; class SelectedFiles extends ChangeNotifier { final files = {}; diff --git a/lib/models/user_details.dart b/lib/models/user_details.dart index e241192a5..98fa3412a 100644 --- a/lib/models/user_details.dart +++ b/lib/models/user_details.dart @@ -2,7 +2,7 @@ import 'dart:convert'; import 'dart:math'; import 'package:collection/collection.dart'; -import 'package:photos/models/file_type.dart'; +import 'package:photos/models/file/file_type.dart'; import 'package:photos/models/subscription.dart'; class UserDetails { diff --git a/lib/services/collections_service.dart b/lib/services/collections_service.dart index d1b4cc5d0..b65cf3d0e 100644 --- a/lib/services/collections_service.dart +++ b/lib/services/collections_service.dart @@ -24,10 +24,10 @@ import 'package:photos/extensions/stop_watch.dart'; import 'package:photos/models/api/collection/create_request.dart'; import "package:photos/models/api/collection/public_url.dart"; import "package:photos/models/api/collection/user.dart"; -import 'package:photos/models/collection.dart'; -import 'package:photos/models/collection_file_item.dart'; -import "package:photos/models/collection_items.dart"; -import 'package:photos/models/file.dart'; +import 'package:photos/models/collection/collection.dart'; +import 'package:photos/models/collection/collection_file_item.dart'; +import 'package:photos/models/collection/collection_items.dart'; +import 'package:photos/models/file/file.dart'; import "package:photos/models/metadata/collection_magic.dart"; import 'package:photos/services/app_lifecycle_service.dart'; import "package:photos/services/favorites_service.dart"; diff --git a/lib/services/deduplication_service.dart b/lib/services/deduplication_service.dart index c06c72dcf..7af257c75 100644 --- a/lib/services/deduplication_service.dart +++ b/lib/services/deduplication_service.dart @@ -4,7 +4,7 @@ import 'package:photos/core/errors.dart'; import 'package:photos/core/network/network.dart'; import 'package:photos/db/files_db.dart'; import 'package:photos/models/duplicate_files.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import "package:photos/services/collections_service.dart"; import "package:photos/services/files_service.dart"; diff --git a/lib/services/favorites_service.dart b/lib/services/favorites_service.dart index 7f26c3fe8..028b6c4b7 100644 --- a/lib/services/favorites_service.dart +++ b/lib/services/favorites_service.dart @@ -9,8 +9,8 @@ import 'package:photos/db/files_db.dart'; import 'package:photos/events/collection_updated_event.dart'; import 'package:photos/events/files_updated_event.dart'; import 'package:photos/models/api/collection/create_request.dart'; -import 'package:photos/models/collection.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/collection/collection.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/services/collections_service.dart'; import 'package:photos/services/remote_sync_service.dart'; import 'package:photos/ui/actions/collection/collection_sharing_actions.dart'; diff --git a/lib/services/file_magic_service.dart b/lib/services/file_magic_service.dart index 48066488b..fae1df494 100644 --- a/lib/services/file_magic_service.dart +++ b/lib/services/file_magic_service.dart @@ -12,7 +12,7 @@ import 'package:photos/events/files_updated_event.dart'; import 'package:photos/events/force_reload_home_gallery_event.dart'; import 'package:photos/events/local_photos_updated_event.dart'; import 'package:photos/extensions/list.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import "package:photos/models/metadata/common_keys.dart"; import "package:photos/models/metadata/file_magic.dart"; import 'package:photos/services/remote_sync_service.dart'; diff --git a/lib/services/files_service.dart b/lib/services/files_service.dart index 82f59a8aa..8d50fa9f2 100644 --- a/lib/services/files_service.dart +++ b/lib/services/files_service.dart @@ -5,7 +5,7 @@ import 'package:photos/core/configuration.dart'; import 'package:photos/core/network/network.dart'; import 'package:photos/db/files_db.dart'; import 'package:photos/extensions/list.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import "package:photos/models/file_load_result.dart"; import "package:photos/models/metadata/file_magic.dart"; import 'package:photos/services/file_magic_service.dart'; diff --git a/lib/services/filter/collection_ignore.dart b/lib/services/filter/collection_ignore.dart index dad1355ae..d9e27f094 100644 --- a/lib/services/filter/collection_ignore.dart +++ b/lib/services/filter/collection_ignore.dart @@ -1,4 +1,4 @@ -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/services/filter/filter.dart"; // CollectionsIgnoreFilter will filter out files that are in present in the diff --git a/lib/services/filter/db_filters.dart b/lib/services/filter/db_filters.dart index e5b125ee6..ad062fe1c 100644 --- a/lib/services/filter/db_filters.dart +++ b/lib/services/filter/db_filters.dart @@ -1,4 +1,4 @@ -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/services/filter/collection_ignore.dart"; import "package:photos/services/filter/dedupe_by_upload_id.dart"; import "package:photos/services/filter/filter.dart"; diff --git a/lib/services/filter/dedupe_by_upload_id.dart b/lib/services/filter/dedupe_by_upload_id.dart index 46222f8c5..93294e37e 100644 --- a/lib/services/filter/dedupe_by_upload_id.dart +++ b/lib/services/filter/dedupe_by_upload_id.dart @@ -1,4 +1,4 @@ -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/services/filter/filter.dart"; // DedupeUploadIDFilter will filter out files where were previously filtered diff --git a/lib/services/filter/filter.dart b/lib/services/filter/filter.dart index d7dbf4c97..6c6e8b483 100644 --- a/lib/services/filter/filter.dart +++ b/lib/services/filter/filter.dart @@ -1,4 +1,4 @@ -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; abstract class Filter { bool filter(EnteFile file); diff --git a/lib/services/filter/type_filter.dart b/lib/services/filter/type_filter.dart index f5d03fe5c..27c04dbb2 100644 --- a/lib/services/filter/type_filter.dart +++ b/lib/services/filter/type_filter.dart @@ -1,5 +1,5 @@ -import "package:photos/models/file.dart"; -import "package:photos/models/file_type.dart"; +import 'package:photos/models/file/file.dart'; +import 'package:photos/models/file/file_type.dart'; import "package:photos/services/filter/filter.dart"; class TypeFilter extends Filter { diff --git a/lib/services/filter/upload_ignore.dart b/lib/services/filter/upload_ignore.dart index 2d052e2d8..584196560 100644 --- a/lib/services/filter/upload_ignore.dart +++ b/lib/services/filter/upload_ignore.dart @@ -1,4 +1,4 @@ -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/services/filter/filter.dart"; import "package:photos/services/ignored_files_service.dart"; diff --git a/lib/services/hidden_service.dart b/lib/services/hidden_service.dart index 750c92cc5..fcb9be5ff 100644 --- a/lib/services/hidden_service.dart +++ b/lib/services/hidden_service.dart @@ -10,8 +10,8 @@ import "package:photos/db/files_db.dart"; import 'package:photos/events/files_updated_event.dart'; import 'package:photos/events/local_photos_updated_event.dart'; import 'package:photos/models/api/collection/create_request.dart'; -import 'package:photos/models/collection.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/collection/collection.dart'; +import 'package:photos/models/file/file.dart'; import "package:photos/models/metadata/collection_magic.dart"; import "package:photos/models/metadata/common_keys.dart"; import 'package:photos/services/collections_service.dart'; diff --git a/lib/services/ignored_files_service.dart b/lib/services/ignored_files_service.dart index 4ab732dbe..759acd157 100644 --- a/lib/services/ignored_files_service.dart +++ b/lib/services/ignored_files_service.dart @@ -3,7 +3,7 @@ import 'dart:io'; import 'package:logging/logging.dart'; import 'package:photos/db/ignored_files_db.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/ignored_file.dart'; class IgnoredFilesService { diff --git a/lib/services/local/local_sync_util.dart b/lib/services/local/local_sync_util.dart index 072b22c89..65b5bf2a8 100644 --- a/lib/services/local/local_sync_util.dart +++ b/lib/services/local/local_sync_util.dart @@ -6,7 +6,7 @@ import 'package:logging/logging.dart'; import 'package:photo_manager/photo_manager.dart'; import 'package:photos/core/event_bus.dart'; import 'package:photos/events/local_import_progress.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:tuple/tuple.dart'; final _logger = Logger("FileSyncUtil"); diff --git a/lib/services/local_file_update_service.dart b/lib/services/local_file_update_service.dart index 4d635de2e..e3b6040c6 100644 --- a/lib/services/local_file_update_service.dart +++ b/lib/services/local_file_update_service.dart @@ -7,8 +7,8 @@ import "package:photos/core/configuration.dart"; import 'package:photos/core/errors.dart'; import 'package:photos/db/file_updation_db.dart'; import 'package:photos/db/files_db.dart'; -import 'package:photos/models/file.dart'; -import "package:photos/models/file_type.dart"; +import 'package:photos/models/file/file.dart'; +import 'package:photos/models/file/file_type.dart'; import 'package:photos/utils/file_uploader_util.dart'; import 'package:photos/utils/file_util.dart'; import 'package:shared_preferences/shared_preferences.dart'; diff --git a/lib/services/local_sync_service.dart b/lib/services/local_sync_service.dart index e37084dc5..972d66347 100644 --- a/lib/services/local_sync_service.dart +++ b/lib/services/local_sync_service.dart @@ -14,7 +14,7 @@ import 'package:photos/events/backup_folders_updated_event.dart'; import 'package:photos/events/local_photos_updated_event.dart'; import 'package:photos/events/sync_status_update_event.dart'; import 'package:photos/extensions/stop_watch.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import "package:photos/models/ignored_file.dart"; import 'package:photos/services/app_lifecycle_service.dart'; import "package:photos/services/ignored_files_service.dart"; diff --git a/lib/services/remote_sync_service.dart b/lib/services/remote_sync_service.dart index ecd9fffcf..5d0c11bdf 100644 --- a/lib/services/remote_sync_service.dart +++ b/lib/services/remote_sync_service.dart @@ -18,8 +18,8 @@ import 'package:photos/events/force_reload_home_gallery_event.dart'; import 'package:photos/events/local_photos_updated_event.dart'; import 'package:photos/events/sync_status_update_event.dart'; import 'package:photos/models/device_collection.dart'; -import 'package:photos/models/file.dart'; -import 'package:photos/models/file_type.dart'; +import 'package:photos/models/file/file.dart'; +import 'package:photos/models/file/file_type.dart'; import 'package:photos/models/upload_strategy.dart'; import 'package:photos/services/app_lifecycle_service.dart'; import 'package:photos/services/collections_service.dart'; diff --git a/lib/services/search_service.dart b/lib/services/search_service.dart index 28d882390..4331eca05 100644 --- a/lib/services/search_service.dart +++ b/lib/services/search_service.dart @@ -5,10 +5,10 @@ import 'package:photos/data/months.dart'; import 'package:photos/data/years.dart'; import 'package:photos/db/files_db.dart'; import 'package:photos/events/local_photos_updated_event.dart'; -import 'package:photos/models/collection.dart'; -import "package:photos/models/collection_items.dart"; -import 'package:photos/models/file.dart'; -import 'package:photos/models/file_type.dart'; +import 'package:photos/models/collection/collection.dart'; +import 'package:photos/models/collection/collection_items.dart'; +import 'package:photos/models/file/file.dart'; +import 'package:photos/models/file/file_type.dart'; import "package:photos/models/local_entity_data.dart"; import "package:photos/models/location_tag/location_tag.dart"; import 'package:photos/models/search/album_search_result.dart'; diff --git a/lib/services/sync_service.dart b/lib/services/sync_service.dart index b4cd1bbf1..995ded154 100644 --- a/lib/services/sync_service.dart +++ b/lib/services/sync_service.dart @@ -17,7 +17,7 @@ import 'package:photos/events/subscription_purchased_event.dart'; import 'package:photos/events/sync_status_update_event.dart'; import 'package:photos/events/trigger_logout_event.dart'; import 'package:photos/models/backup_status.dart'; -import 'package:photos/models/file_type.dart'; +import 'package:photos/models/file/file_type.dart'; import "package:photos/services/files_service.dart"; import 'package:photos/services/local_sync_service.dart'; import 'package:photos/services/notification_service.dart'; diff --git a/lib/services/trash_sync_service.dart b/lib/services/trash_sync_service.dart index 9858463d9..137919373 100644 --- a/lib/services/trash_sync_service.dart +++ b/lib/services/trash_sync_service.dart @@ -10,9 +10,9 @@ import 'package:photos/events/collection_updated_event.dart'; import 'package:photos/events/force_reload_trash_page_event.dart'; import 'package:photos/events/trash_updated_event.dart'; import 'package:photos/extensions/list.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/ignored_file.dart'; -import 'package:photos/models/trash_file.dart'; +import 'package:photos/models/file/trash_file.dart'; import 'package:photos/models/trash_item_request.dart'; import 'package:photos/services/ignored_files_service.dart'; import 'package:photos/utils/trash_diff_fetcher.dart'; diff --git a/lib/ui/actions/collection/collection_file_actions.dart b/lib/ui/actions/collection/collection_file_actions.dart index 1586cfaaf..503f47b9e 100644 --- a/lib/ui/actions/collection/collection_file_actions.dart +++ b/lib/ui/actions/collection/collection_file_actions.dart @@ -5,8 +5,8 @@ import "package:photos/core/event_bus.dart"; import "package:photos/db/files_db.dart"; import "package:photos/events/collection_updated_event.dart"; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/collection.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/collection/collection.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/selected_files.dart'; import "package:photos/services/collections_service.dart"; import 'package:photos/services/favorites_service.dart'; diff --git a/lib/ui/actions/collection/collection_sharing_actions.dart b/lib/ui/actions/collection/collection_sharing_actions.dart index 9e2cfa43a..596abe201 100644 --- a/lib/ui/actions/collection/collection_sharing_actions.dart +++ b/lib/ui/actions/collection/collection_sharing_actions.dart @@ -7,8 +7,8 @@ import 'package:photos/ente_theme_data.dart'; import "package:photos/generated/l10n.dart"; import 'package:photos/models/api/collection/create_request.dart'; import "package:photos/models/api/collection/user.dart"; -import 'package:photos/models/collection.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/collection/collection.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/files_split.dart'; import "package:photos/models/metadata/collection_magic.dart"; import "package:photos/models/metadata/common_keys.dart"; diff --git a/lib/ui/actions/file/file_actions.dart b/lib/ui/actions/file/file_actions.dart index 868e83049..147c6ba23 100644 --- a/lib/ui/actions/file/file_actions.dart +++ b/lib/ui/actions/file/file_actions.dart @@ -1,8 +1,8 @@ import "package:flutter/cupertino.dart"; import "package:modal_bottom_sheet/modal_bottom_sheet.dart"; import "package:photos/generated/l10n.dart"; -import "package:photos/models/file.dart"; -import "package:photos/models/file_type.dart"; +import 'package:photos/models/file/file.dart'; +import 'package:photos/models/file/file_type.dart'; import "package:photos/theme/colors.dart"; import "package:photos/theme/ente_theme.dart"; import "package:photos/ui/components/action_sheet_widget.dart"; diff --git a/lib/ui/collections/album/column_item.dart b/lib/ui/collections/album/column_item.dart index 685063e7e..a81d71273 100644 --- a/lib/ui/collections/album/column_item.dart +++ b/lib/ui/collections/album/column_item.dart @@ -2,8 +2,8 @@ import 'package:flutter/material.dart'; import "package:intl/intl.dart"; import 'package:logging/logging.dart'; import "package:photos/generated/l10n.dart"; -import "package:photos/models/collection.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/collection/collection.dart'; +import 'package:photos/models/file/file.dart'; import "package:photos/services/collections_service.dart"; import 'package:photos/theme/ente_theme.dart'; import 'package:photos/ui/viewer/file/no_thumbnail_widget.dart'; diff --git a/lib/ui/collections/album/horizontal_list.dart b/lib/ui/collections/album/horizontal_list.dart index 759d22619..0021d6836 100644 --- a/lib/ui/collections/album/horizontal_list.dart +++ b/lib/ui/collections/album/horizontal_list.dart @@ -5,7 +5,7 @@ import "package:logging/logging.dart"; import "package:photos/core/event_bus.dart"; import "package:photos/events/collection_updated_event.dart"; import "package:photos/generated/l10n.dart"; -import "package:photos/models/collection.dart"; +import 'package:photos/models/collection/collection.dart'; import "package:photos/theme/ente_theme.dart"; import "package:photos/ui/collections/album/row_item.dart"; import "package:photos/ui/common/loading_widget.dart"; diff --git a/lib/ui/collections/album/row_item.dart b/lib/ui/collections/album/row_item.dart index ba83ab490..16cc44339 100644 --- a/lib/ui/collections/album/row_item.dart +++ b/lib/ui/collections/album/row_item.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import "package:intl/intl.dart"; import "package:photos/core/configuration.dart"; -import 'package:photos/models/collection.dart'; -import 'package:photos/models/collection_items.dart'; -import "package:photos/models/file.dart"; +import 'package:photos/models/collection/collection.dart'; +import 'package:photos/models/collection/collection_items.dart'; +import 'package:photos/models/file/file.dart'; import "package:photos/services/collections_service.dart"; import "package:photos/theme/colors.dart"; import 'package:photos/theme/ente_theme.dart'; diff --git a/lib/ui/collections/album/vertical_list.dart b/lib/ui/collections/album/vertical_list.dart index 4a47b8a27..8c449ed17 100644 --- a/lib/ui/collections/album/vertical_list.dart +++ b/lib/ui/collections/album/vertical_list.dart @@ -8,9 +8,9 @@ import "package:photos/core/event_bus.dart"; import 'package:photos/db/files_db.dart'; import "package:photos/events/tab_changed_event.dart"; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/collection.dart'; -import 'package:photos/models/collection_items.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/collection/collection.dart'; +import 'package:photos/models/collection/collection_items.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/selected_files.dart'; import 'package:photos/services/collections_service.dart'; import 'package:photos/services/ignored_files_service.dart'; diff --git a/lib/ui/collections/button/uncategorized_button.dart b/lib/ui/collections/button/uncategorized_button.dart index 1d6d2d3a4..0773eb761 100644 --- a/lib/ui/collections/button/uncategorized_button.dart +++ b/lib/ui/collections/button/uncategorized_button.dart @@ -1,7 +1,7 @@ import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/collection.dart'; +import 'package:photos/models/collection/collection.dart'; import 'package:photos/services/collections_service.dart'; import 'package:photos/services/hidden_service.dart'; import 'package:photos/ui/viewer/gallery/uncategorized_page.dart'; diff --git a/lib/ui/collections/collection_action_sheet.dart b/lib/ui/collections/collection_action_sheet.dart index 4e95f7682..fdd92a7b2 100644 --- a/lib/ui/collections/collection_action_sheet.dart +++ b/lib/ui/collections/collection_action_sheet.dart @@ -6,7 +6,7 @@ import 'package:flutter/material.dart'; import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; import "package:photos/core/configuration.dart"; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/collection.dart'; +import 'package:photos/models/collection/collection.dart'; import 'package:photos/models/selected_files.dart'; import 'package:photos/services/collections_service.dart'; import 'package:photos/theme/colors.dart'; diff --git a/lib/ui/collections/collection_list_page.dart b/lib/ui/collections/collection_list_page.dart index 3126f8cca..f33c81b21 100644 --- a/lib/ui/collections/collection_list_page.dart +++ b/lib/ui/collections/collection_list_page.dart @@ -3,8 +3,8 @@ import "dart:async"; import 'package:flutter/material.dart'; import "package:photos/core/event_bus.dart"; import "package:photos/events/collection_updated_event.dart"; -import "package:photos/models/collection.dart"; -import "package:photos/models/collection_items.dart"; +import 'package:photos/models/collection/collection.dart'; +import 'package:photos/models/collection/collection_items.dart'; import "package:photos/services/collections_service.dart"; import "package:photos/ui/collections/flex_grid_view.dart"; diff --git a/lib/ui/collections/flex_grid_view.dart b/lib/ui/collections/flex_grid_view.dart index 94ba2c80e..a0c3a0e13 100644 --- a/lib/ui/collections/flex_grid_view.dart +++ b/lib/ui/collections/flex_grid_view.dart @@ -1,7 +1,7 @@ import 'dart:math'; import 'package:flutter/material.dart'; -import "package:photos/models/collection.dart"; +import 'package:photos/models/collection/collection.dart'; import "package:photos/ui/collections/album/row_item.dart"; class CollectionsFlexiGridViewWidget extends StatelessWidget { diff --git a/lib/ui/collections/create_new_album_widget.dart b/lib/ui/collections/new_album_icon.dart similarity index 88% rename from lib/ui/collections/create_new_album_widget.dart rename to lib/ui/collections/new_album_icon.dart index b8ab7f1c4..0ac98c372 100644 --- a/lib/ui/collections/create_new_album_widget.dart +++ b/lib/ui/collections/new_album_icon.dart @@ -1,16 +1,16 @@ import 'package:flutter/material.dart'; import "package:logging/logging.dart"; import "package:photos/generated/l10n.dart"; -import "package:photos/models/collection.dart"; -import "package:photos/models/collection_items.dart"; +import 'package:photos/models/collection/collection.dart'; +import 'package:photos/models/collection/collection_items.dart'; import "package:photos/services/collections_service.dart"; import "package:photos/ui/components/buttons/icon_button_widget.dart"; import "package:photos/ui/viewer/gallery/collection_page.dart"; import "package:photos/utils/dialog_util.dart"; import "package:photos/utils/navigation_util.dart"; -class CreateNewAlbumIcon extends StatelessWidget { - const CreateNewAlbumIcon({Key? key}) : super(key: key); +class NewAlbumIcon extends StatelessWidget { + const NewAlbumIcon({Key? key}) : super(key: key); @override Widget build(BuildContext context) { diff --git a/lib/ui/components/bottom_action_bar/bottom_action_bar_widget.dart b/lib/ui/components/bottom_action_bar/bottom_action_bar_widget.dart index 3319eb408..b562ada81 100644 --- a/lib/ui/components/bottom_action_bar/bottom_action_bar_widget.dart +++ b/lib/ui/components/bottom_action_bar/bottom_action_bar_widget.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:photos/core/constants.dart'; -import "package:photos/models/collection.dart"; +import 'package:photos/models/collection/collection.dart'; import "package:photos/models/gallery_type.dart"; import 'package:photos/models/selected_files.dart'; import 'package:photos/theme/ente_theme.dart'; diff --git a/lib/ui/home/memories/full_screen_memory.dart b/lib/ui/home/memories/full_screen_memory.dart index 47e6bfa51..2b78f0a3e 100644 --- a/lib/ui/home/memories/full_screen_memory.dart +++ b/lib/ui/home/memories/full_screen_memory.dart @@ -5,7 +5,7 @@ import "package:flutter/cupertino.dart"; import "package:flutter/material.dart"; import "package:intl/intl.dart"; import "package:photos/core/configuration.dart"; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import "package:photos/models/memory.dart"; import "package:photos/services/memories_service.dart"; import "package:photos/theme/text_style.dart"; diff --git a/lib/ui/map/image_marker.dart b/lib/ui/map/image_marker.dart index 53767d323..f3a70295b 100644 --- a/lib/ui/map/image_marker.dart +++ b/lib/ui/map/image_marker.dart @@ -1,4 +1,4 @@ -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; class ImageMarker { final EnteFile imageFile; diff --git a/lib/ui/map/map_pull_up_gallery.dart b/lib/ui/map/map_pull_up_gallery.dart index 809980519..c88d4f81c 100644 --- a/lib/ui/map/map_pull_up_gallery.dart +++ b/lib/ui/map/map_pull_up_gallery.dart @@ -7,7 +7,7 @@ import "package:photos/core/event_bus.dart"; import "package:photos/events/files_updated_event.dart"; import "package:photos/events/local_photos_updated_event.dart"; import "package:photos/generated/l10n.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/models/file_load_result.dart"; import "package:photos/models/gallery_type.dart"; import "package:photos/models/selected_files.dart"; diff --git a/lib/ui/map/map_screen.dart b/lib/ui/map/map_screen.dart index 3a8eae786..275b5bafb 100644 --- a/lib/ui/map/map_screen.dart +++ b/lib/ui/map/map_screen.dart @@ -8,7 +8,7 @@ import 'package:flutter_map/flutter_map.dart'; import "package:latlong2/latlong.dart"; import "package:logging/logging.dart"; import "package:photos/generated/l10n.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/theme/ente_theme.dart"; import "package:photos/ui/common/loading_widget.dart"; import "package:photos/ui/map/image_marker.dart"; diff --git a/lib/ui/map/marker_image.dart b/lib/ui/map/marker_image.dart index 16a440f63..ea55060f5 100644 --- a/lib/ui/map/marker_image.dart +++ b/lib/ui/map/marker_image.dart @@ -1,5 +1,5 @@ import "package:flutter/material.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/theme/effects.dart"; import "package:photos/theme/ente_theme.dart"; import "package:photos/ui/viewer/file/thumbnail_widget.dart"; diff --git a/lib/ui/settings/backup/backup_folder_selection_page.dart b/lib/ui/settings/backup/backup_folder_selection_page.dart index e6034f9e5..457975937 100644 --- a/lib/ui/settings/backup/backup_folder_selection_page.dart +++ b/lib/ui/settings/backup/backup_folder_selection_page.dart @@ -12,7 +12,7 @@ import 'package:photos/db/files_db.dart'; import 'package:photos/ente_theme_data.dart'; import 'package:photos/generated/l10n.dart'; import 'package:photos/models/device_collection.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/services/remote_sync_service.dart'; import 'package:photos/ui/common/loading_widget.dart'; import 'package:photos/ui/viewer/file/thumbnail_widget.dart'; diff --git a/lib/ui/sharing/add_partipant_page.dart b/lib/ui/sharing/add_partipant_page.dart index e67060ad9..a7e11c356 100644 --- a/lib/ui/sharing/add_partipant_page.dart +++ b/lib/ui/sharing/add_partipant_page.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; import 'package:photos/core/configuration.dart'; import "package:photos/generated/l10n.dart"; import "package:photos/models/api/collection/user.dart"; -import 'package:photos/models/collection.dart'; +import 'package:photos/models/collection/collection.dart'; import 'package:photos/services/collections_service.dart'; import "package:photos/services/user_service.dart"; import 'package:photos/theme/ente_theme.dart'; diff --git a/lib/ui/sharing/album_participants_page.dart b/lib/ui/sharing/album_participants_page.dart index c1970b17b..893586b89 100644 --- a/lib/ui/sharing/album_participants_page.dart +++ b/lib/ui/sharing/album_participants_page.dart @@ -3,7 +3,7 @@ import 'package:photos/core/configuration.dart'; import 'package:photos/extensions/list.dart'; import "package:photos/generated/l10n.dart"; import "package:photos/models/api/collection/user.dart"; -import 'package:photos/models/collection.dart'; +import 'package:photos/models/collection/collection.dart'; import 'package:photos/theme/ente_theme.dart'; import 'package:photos/ui/components/captioned_text_widget.dart'; import 'package:photos/ui/components/divider_widget.dart'; diff --git a/lib/ui/sharing/manage_album_participant.dart b/lib/ui/sharing/manage_album_participant.dart index b2d32e10f..f07d34f6e 100644 --- a/lib/ui/sharing/manage_album_participant.dart +++ b/lib/ui/sharing/manage_album_participant.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import "package:photos/generated/l10n.dart"; import "package:photos/models/api/collection/user.dart"; -import 'package:photos/models/collection.dart'; +import 'package:photos/models/collection/collection.dart'; import 'package:photos/services/collections_service.dart'; import 'package:photos/theme/colors.dart'; import 'package:photos/theme/ente_theme.dart'; diff --git a/lib/ui/sharing/manage_links_widget.dart b/lib/ui/sharing/manage_links_widget.dart index 27d87def9..d1467884d 100644 --- a/lib/ui/sharing/manage_links_widget.dart +++ b/lib/ui/sharing/manage_links_widget.dart @@ -6,7 +6,7 @@ import 'package:flutter/material.dart'; import "package:flutter/services.dart"; import "package:photos/generated/l10n.dart"; import "package:photos/models/api/collection/public_url.dart"; -import 'package:photos/models/collection.dart'; +import 'package:photos/models/collection/collection.dart'; import 'package:photos/services/collections_service.dart'; import 'package:photos/theme/colors.dart'; import 'package:photos/theme/ente_theme.dart'; diff --git a/lib/ui/sharing/pickers/device_limit_picker_page.dart b/lib/ui/sharing/pickers/device_limit_picker_page.dart index 874501785..9206c526f 100644 --- a/lib/ui/sharing/pickers/device_limit_picker_page.dart +++ b/lib/ui/sharing/pickers/device_limit_picker_page.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:photos/core/constants.dart'; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/collection.dart'; +import 'package:photos/models/collection/collection.dart'; import 'package:photos/services/collections_service.dart'; import 'package:photos/theme/ente_theme.dart'; import 'package:photos/ui/components/captioned_text_widget.dart'; diff --git a/lib/ui/sharing/pickers/link_expiry_picker_page.dart b/lib/ui/sharing/pickers/link_expiry_picker_page.dart index 3611d5bbf..8ca0f5bf7 100644 --- a/lib/ui/sharing/pickers/link_expiry_picker_page.dart +++ b/lib/ui/sharing/pickers/link_expiry_picker_page.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import "package:flutter_datetime_picker_bdaya/flutter_datetime_picker_bdaya.dart"; import 'package:photos/ente_theme_data.dart'; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/collection.dart'; +import 'package:photos/models/collection/collection.dart'; import 'package:photos/services/collections_service.dart'; import 'package:photos/theme/ente_theme.dart'; import 'package:photos/ui/components/captioned_text_widget.dart'; diff --git a/lib/ui/sharing/share_collection_page.dart b/lib/ui/sharing/share_collection_page.dart index 675a4373d..da0472240 100644 --- a/lib/ui/sharing/share_collection_page.dart +++ b/lib/ui/sharing/share_collection_page.dart @@ -4,7 +4,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import "package:photos/generated/l10n.dart"; import "package:photos/models/api/collection/user.dart"; -import 'package:photos/models/collection.dart'; +import 'package:photos/models/collection/collection.dart'; import 'package:photos/services/collections_service.dart'; import 'package:photos/theme/ente_theme.dart'; import 'package:photos/ui/actions/collection/collection_sharing_actions.dart'; diff --git a/lib/ui/tabs/home_widget.dart b/lib/ui/tabs/home_widget.dart index 713f974c4..afd40108d 100644 --- a/lib/ui/tabs/home_widget.dart +++ b/lib/ui/tabs/home_widget.dart @@ -23,7 +23,7 @@ import 'package:photos/events/tab_changed_event.dart'; import 'package:photos/events/trigger_logout_event.dart'; import 'package:photos/events/user_logged_out_event.dart'; import "package:photos/generated/l10n.dart"; -import "package:photos/models/collection_items.dart"; +import 'package:photos/models/collection/collection_items.dart'; import 'package:photos/models/selected_files.dart'; import 'package:photos/services/app_lifecycle_service.dart'; import 'package:photos/services/collections_service.dart'; diff --git a/lib/ui/tabs/shared/quick_link_album_item.dart b/lib/ui/tabs/shared/quick_link_album_item.dart index d1612c927..0e7e233be 100644 --- a/lib/ui/tabs/shared/quick_link_album_item.dart +++ b/lib/ui/tabs/shared/quick_link_album_item.dart @@ -1,8 +1,8 @@ import "package:flutter/material.dart"; import "package:photos/generated/l10n.dart"; -import "package:photos/models/collection.dart"; -import "package:photos/models/collection_items.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/collection/collection.dart'; +import 'package:photos/models/collection/collection_items.dart'; +import 'package:photos/models/file/file.dart'; import "package:photos/services/collections_service.dart"; import "package:photos/theme/colors.dart"; import "package:photos/theme/ente_theme.dart"; diff --git a/lib/ui/tabs/shared_collections_tab.dart b/lib/ui/tabs/shared_collections_tab.dart index 74d382897..6dd635e9d 100644 --- a/lib/ui/tabs/shared_collections_tab.dart +++ b/lib/ui/tabs/shared_collections_tab.dart @@ -7,7 +7,7 @@ import 'package:photos/events/collection_updated_event.dart'; import 'package:photos/events/local_photos_updated_event.dart'; import 'package:photos/events/user_logged_out_event.dart'; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/collection_items.dart'; +import 'package:photos/models/collection/collection_items.dart'; import 'package:photos/services/collections_service.dart'; import "package:photos/ui/collections/album/row_item.dart"; import "package:photos/ui/collections/collection_list_page.dart"; diff --git a/lib/ui/tabs/user_collections_tab.dart b/lib/ui/tabs/user_collections_tab.dart index 49ce974c8..d20944380 100644 --- a/lib/ui/tabs/user_collections_tab.dart +++ b/lib/ui/tabs/user_collections_tab.dart @@ -8,17 +8,17 @@ import 'package:photos/events/collection_updated_event.dart'; import 'package:photos/events/local_photos_updated_event.dart'; import 'package:photos/events/user_logged_out_event.dart'; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/collection.dart'; +import 'package:photos/models/collection/collection.dart'; import 'package:photos/services/collections_service.dart'; import "package:photos/ui/collections/button/archived_button.dart"; import "package:photos/ui/collections/button/hidden_button.dart"; import "package:photos/ui/collections/button/trash_button.dart"; import "package:photos/ui/collections/button/uncategorized_button.dart"; import "package:photos/ui/collections/collection_list_page.dart"; -import "package:photos/ui/collections/create_new_album_widget.dart"; import "package:photos/ui/collections/device/device_folders_grid_view.dart"; import "package:photos/ui/collections/device/device_folders_vertical_grid_view.dart"; import "package:photos/ui/collections/flex_grid_view.dart"; +import "package:photos/ui/collections/new_album_icon.dart"; import 'package:photos/ui/common/loading_widget.dart'; import 'package:photos/ui/components/buttons/icon_button_widget.dart'; import "package:photos/ui/tabs/section_title.dart"; @@ -224,7 +224,7 @@ class _UserCollectionsTabState extends State ), child: Row( children: [ - const CreateNewAlbumIcon(), + const NewAlbumIcon(), GestureDetector( onTapDown: (TapDownDetails details) async { final int? selectedValue = await showMenu( diff --git a/lib/ui/tools/collage/collage_creator_page.dart b/lib/ui/tools/collage/collage_creator_page.dart index dca8a7d1a..cf4583786 100644 --- a/lib/ui/tools/collage/collage_creator_page.dart +++ b/lib/ui/tools/collage/collage_creator_page.dart @@ -1,6 +1,6 @@ import "package:flutter/material.dart"; import "package:photos/generated/l10n.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/ui/tools/collage/collage_test_grid.dart"; import "package:photos/ui/tools/collage/collage_with_five_items.dart"; import "package:photos/ui/tools/collage/collage_with_four_items.dart"; diff --git a/lib/ui/tools/collage/collage_item_widget.dart b/lib/ui/tools/collage/collage_item_widget.dart index 9baa4c41e..4351954d0 100644 --- a/lib/ui/tools/collage/collage_item_widget.dart +++ b/lib/ui/tools/collage/collage_item_widget.dart @@ -1,6 +1,6 @@ import "package:flutter/material.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/ui/viewer/file/zoomable_image.dart"; class CollageItemWidget extends StatelessWidget { diff --git a/lib/ui/tools/collage/collage_save_button.dart b/lib/ui/tools/collage/collage_save_button.dart index f5992cc48..97000f894 100644 --- a/lib/ui/tools/collage/collage_save_button.dart +++ b/lib/ui/tools/collage/collage_save_button.dart @@ -3,7 +3,7 @@ import "package:flutter_image_compress/flutter_image_compress.dart"; import "package:logging/logging.dart"; import "package:photo_manager/photo_manager.dart"; import "package:photos/generated/l10n.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/services/sync_service.dart"; import "package:photos/ui/components/buttons/button_widget.dart"; import "package:photos/ui/components/models/button_type.dart"; diff --git a/lib/ui/tools/collage/collage_with_five_items.dart b/lib/ui/tools/collage/collage_with_five_items.dart index ae374ebde..b8ed33641 100644 --- a/lib/ui/tools/collage/collage_with_five_items.dart +++ b/lib/ui/tools/collage/collage_with_five_items.dart @@ -1,6 +1,6 @@ import "package:flutter/material.dart"; import "package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/ui/tools/collage/collage_common_widgets.dart"; import "package:photos/ui/tools/collage/collage_item_icon.dart"; import "package:photos/ui/tools/collage/collage_item_widget.dart"; diff --git a/lib/ui/tools/collage/collage_with_four_items.dart b/lib/ui/tools/collage/collage_with_four_items.dart index 3e328d381..a96ade6a0 100644 --- a/lib/ui/tools/collage/collage_with_four_items.dart +++ b/lib/ui/tools/collage/collage_with_four_items.dart @@ -1,6 +1,6 @@ import "package:flutter/material.dart"; import "package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/ui/tools/collage/collage_common_widgets.dart"; import "package:photos/ui/tools/collage/collage_item_icon.dart"; import "package:photos/ui/tools/collage/collage_item_widget.dart"; diff --git a/lib/ui/tools/collage/collage_with_six_items.dart b/lib/ui/tools/collage/collage_with_six_items.dart index 7209b4172..0510ef3d4 100644 --- a/lib/ui/tools/collage/collage_with_six_items.dart +++ b/lib/ui/tools/collage/collage_with_six_items.dart @@ -1,6 +1,6 @@ import "package:flutter/material.dart"; import "package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/ui/tools/collage/collage_common_widgets.dart"; import "package:photos/ui/tools/collage/collage_item_icon.dart"; import "package:photos/ui/tools/collage/collage_item_widget.dart"; diff --git a/lib/ui/tools/collage/collage_with_three_items.dart b/lib/ui/tools/collage/collage_with_three_items.dart index 96fbc8fe9..fa0150304 100644 --- a/lib/ui/tools/collage/collage_with_three_items.dart +++ b/lib/ui/tools/collage/collage_with_three_items.dart @@ -1,6 +1,6 @@ import "package:flutter/material.dart"; import "package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/ui/tools/collage/collage_common_widgets.dart"; import 'package:photos/ui/tools/collage/collage_item_icon.dart'; import "package:photos/ui/tools/collage/collage_item_widget.dart"; diff --git a/lib/ui/tools/collage/collage_with_two_items.dart b/lib/ui/tools/collage/collage_with_two_items.dart index ad2e431e1..aed683208 100644 --- a/lib/ui/tools/collage/collage_with_two_items.dart +++ b/lib/ui/tools/collage/collage_with_two_items.dart @@ -1,6 +1,6 @@ import "package:flutter/material.dart"; import "package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/ui/tools/collage/collage_common_widgets.dart"; import 'package:photos/ui/tools/collage/collage_item_icon.dart'; import "package:photos/ui/tools/collage/collage_item_widget.dart"; diff --git a/lib/ui/tools/deduplicate_page.dart b/lib/ui/tools/deduplicate_page.dart index 505de3cb7..ae0045883 100644 --- a/lib/ui/tools/deduplicate_page.dart +++ b/lib/ui/tools/deduplicate_page.dart @@ -6,7 +6,7 @@ import 'package:photos/ente_theme_data.dart'; import 'package:photos/events/user_details_changed_event.dart'; import "package:photos/generated/l10n.dart"; import 'package:photos/models/duplicate_files.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/services/collections_service.dart'; import 'package:photos/services/deduplication_service.dart'; import 'package:photos/ui/viewer/file/detail_page.dart'; diff --git a/lib/ui/tools/editor/image_editor_page.dart b/lib/ui/tools/editor/image_editor_page.dart index d58f896a3..d76fbc6c0 100644 --- a/lib/ui/tools/editor/image_editor_page.dart +++ b/lib/ui/tools/editor/image_editor_page.dart @@ -13,7 +13,7 @@ import 'package:photos/core/event_bus.dart'; import 'package:photos/db/files_db.dart'; import 'package:photos/events/local_photos_updated_event.dart'; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/file.dart' as ente; +import 'package:photos/models/file/file.dart' as ente; import 'package:photos/models/location/location.dart'; import 'package:photos/services/sync_service.dart'; import 'package:photos/ui/common/loading_widget.dart'; diff --git a/lib/ui/viewer/actions/delete_empty_albums.dart b/lib/ui/viewer/actions/delete_empty_albums.dart index 875b68ec9..860fdce4b 100644 --- a/lib/ui/viewer/actions/delete_empty_albums.dart +++ b/lib/ui/viewer/actions/delete_empty_albums.dart @@ -3,8 +3,8 @@ import 'package:photos/core/event_bus.dart'; import "package:photos/db/files_db.dart"; import 'package:photos/events/collection_updated_event.dart'; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/collection.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/collection/collection.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/services/collections_service.dart'; import "package:photos/services/remote_sync_service.dart"; import 'package:photos/ui/components/action_sheet_widget.dart'; diff --git a/lib/ui/viewer/actions/file_selection_actions_widget.dart b/lib/ui/viewer/actions/file_selection_actions_widget.dart index 2ea649b77..ef5d33c49 100644 --- a/lib/ui/viewer/actions/file_selection_actions_widget.dart +++ b/lib/ui/viewer/actions/file_selection_actions_widget.dart @@ -3,10 +3,10 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:photos/core/configuration.dart'; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/collection.dart'; +import 'package:photos/models/collection/collection.dart'; import 'package:photos/models/device_collection.dart'; -import 'package:photos/models/file.dart'; -import "package:photos/models/file_type.dart"; +import 'package:photos/models/file/file.dart'; +import 'package:photos/models/file/file_type.dart'; import 'package:photos/models/files_split.dart'; import 'package:photos/models/gallery_type.dart'; import "package:photos/models/metadata/common_keys.dart"; diff --git a/lib/ui/viewer/actions/file_selection_overlay_bar.dart b/lib/ui/viewer/actions/file_selection_overlay_bar.dart index 0eda13f38..bc832c573 100644 --- a/lib/ui/viewer/actions/file_selection_overlay_bar.dart +++ b/lib/ui/viewer/actions/file_selection_overlay_bar.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:photos/models/collection.dart'; +import 'package:photos/models/collection/collection.dart'; import 'package:photos/models/gallery_type.dart'; import 'package:photos/models/selected_files.dart'; import "package:photos/theme/effects.dart"; diff --git a/lib/ui/viewer/file/detail_page.dart b/lib/ui/viewer/file/detail_page.dart index 1c7df8981..cbabd6a48 100644 --- a/lib/ui/viewer/file/detail_page.dart +++ b/lib/ui/viewer/file/detail_page.dart @@ -6,7 +6,7 @@ import 'package:photos/core/configuration.dart'; import 'package:photos/core/constants.dart'; import 'package:photos/core/errors.dart'; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/ui/tools/editor/image_editor_page.dart'; import "package:photos/ui/viewer/file/file_app_bar.dart"; import "package:photos/ui/viewer/file/file_bottom_bar.dart"; diff --git a/lib/ui/viewer/file/exif_info_dialog.dart b/lib/ui/viewer/file/exif_info_dialog.dart index db56bf36d..7ffbf7eb1 100644 --- a/lib/ui/viewer/file/exif_info_dialog.dart +++ b/lib/ui/viewer/file/exif_info_dialog.dart @@ -2,7 +2,7 @@ import 'dart:ui'; import 'package:flutter/material.dart'; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import "package:photos/theme/ente_theme.dart"; import 'package:photos/ui/common/loading_widget.dart'; import 'package:photos/utils/exif_util.dart'; diff --git a/lib/ui/viewer/file/file_app_bar.dart b/lib/ui/viewer/file/file_app_bar.dart index 908cd9472..14bd4d32e 100644 --- a/lib/ui/viewer/file/file_app_bar.dart +++ b/lib/ui/viewer/file/file_app_bar.dart @@ -10,12 +10,12 @@ import 'package:photos/core/event_bus.dart'; import 'package:photos/db/files_db.dart'; import 'package:photos/events/local_photos_updated_event.dart'; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/file.dart'; -import 'package:photos/models/file_type.dart'; +import 'package:photos/models/file/file.dart'; +import 'package:photos/models/file/file_type.dart'; import 'package:photos/models/ignored_file.dart'; import "package:photos/models/metadata/common_keys.dart"; import 'package:photos/models/selected_files.dart'; -import 'package:photos/models/trash_file.dart'; +import 'package:photos/models/file/trash_file.dart'; import 'package:photos/services/collections_service.dart'; import 'package:photos/services/hidden_service.dart'; import 'package:photos/services/ignored_files_service.dart'; diff --git a/lib/ui/viewer/file/file_bottom_bar.dart b/lib/ui/viewer/file/file_bottom_bar.dart index 7f5dd5d68..94166edc1 100644 --- a/lib/ui/viewer/file/file_bottom_bar.dart +++ b/lib/ui/viewer/file/file_bottom_bar.dart @@ -3,10 +3,10 @@ import 'dart:io'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/file.dart'; -import 'package:photos/models/file_type.dart'; +import 'package:photos/models/file/file.dart'; +import 'package:photos/models/file/file_type.dart'; import 'package:photos/models/selected_files.dart'; -import 'package:photos/models/trash_file.dart'; +import 'package:photos/models/file/trash_file.dart'; import 'package:photos/theme/colors.dart'; import 'package:photos/theme/ente_theme.dart'; import "package:photos/ui/actions/file/file_actions.dart"; diff --git a/lib/ui/viewer/file/file_caption_widget.dart b/lib/ui/viewer/file/file_caption_widget.dart index 5288ab6d7..446c9ce55 100644 --- a/lib/ui/viewer/file/file_caption_widget.dart +++ b/lib/ui/viewer/file/file_caption_widget.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/theme/ente_theme.dart'; import 'package:photos/ui/components/keyboard/keybiard_oveylay.dart'; import 'package:photos/ui/components/keyboard/keyboard_top_button.dart'; diff --git a/lib/ui/viewer/file/file_details_widget.dart b/lib/ui/viewer/file/file_details_widget.dart index 6c134b1a7..dc2ac2198 100644 --- a/lib/ui/viewer/file/file_details_widget.dart +++ b/lib/ui/viewer/file/file_details_widget.dart @@ -3,8 +3,8 @@ import "package:flutter/material.dart"; import "package:logging/logging.dart"; import "package:photos/core/configuration.dart"; import "package:photos/generated/l10n.dart"; -import "package:photos/models/file.dart"; -import "package:photos/models/file_type.dart"; +import 'package:photos/models/file/file.dart'; +import 'package:photos/models/file/file_type.dart'; import "package:photos/models/metadata/file_magic.dart"; import "package:photos/services/file_magic_service.dart"; import "package:photos/services/update_service.dart"; diff --git a/lib/ui/viewer/file/file_icons_widget.dart b/lib/ui/viewer/file/file_icons_widget.dart index 9516d70c8..cd232f7ac 100644 --- a/lib/ui/viewer/file/file_icons_widget.dart +++ b/lib/ui/viewer/file/file_icons_widget.dart @@ -4,7 +4,7 @@ import 'package:flutter/material.dart'; import 'package:photos/ente_theme_data.dart'; import "package:photos/generated/l10n.dart"; import "package:photos/models/api/collection/user.dart"; -import 'package:photos/models/trash_file.dart'; +import 'package:photos/models/file/trash_file.dart'; import 'package:photos/theme/colors.dart'; import 'package:photos/ui/sharing/user_avator_widget.dart'; diff --git a/lib/ui/viewer/file/file_widget.dart b/lib/ui/viewer/file/file_widget.dart index 00876d7b4..85cac0d7e 100644 --- a/lib/ui/viewer/file/file_widget.dart +++ b/lib/ui/viewer/file/file_widget.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:logging/logging.dart'; -import 'package:photos/models/file.dart'; -import 'package:photos/models/file_type.dart'; +import 'package:photos/models/file/file.dart'; +import 'package:photos/models/file/file_type.dart'; import 'package:photos/ui/viewer/file/video_widget.dart'; import 'package:photos/ui/viewer/file/zoomable_live_image.dart'; diff --git a/lib/ui/viewer/file/thumbnail_widget.dart b/lib/ui/viewer/file/thumbnail_widget.dart index 63722dc40..7e3f24f1c 100644 --- a/lib/ui/viewer/file/thumbnail_widget.dart +++ b/lib/ui/viewer/file/thumbnail_widget.dart @@ -10,9 +10,9 @@ import 'package:photos/db/trash_db.dart'; import 'package:photos/events/files_updated_event.dart'; import "package:photos/events/local_photos_updated_event.dart"; import "package:photos/models/api/collection/user.dart"; -import 'package:photos/models/file.dart'; -import 'package:photos/models/file_type.dart'; -import 'package:photos/models/trash_file.dart'; +import 'package:photos/models/file/file.dart'; +import 'package:photos/models/file/file_type.dart'; +import 'package:photos/models/file/trash_file.dart'; import 'package:photos/services/collections_service.dart'; import 'package:photos/services/favorites_service.dart'; import 'package:photos/ui/viewer/file/file_icons_widget.dart'; diff --git a/lib/ui/viewer/file/video_widget.dart b/lib/ui/viewer/file/video_widget.dart index 023783214..edc51cd22 100644 --- a/lib/ui/viewer/file/video_widget.dart +++ b/lib/ui/viewer/file/video_widget.dart @@ -8,7 +8,7 @@ import 'package:logging/logging.dart'; import 'package:photos/core/configuration.dart'; import 'package:photos/core/constants.dart'; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import "package:photos/services/feature_flag_service.dart"; import 'package:photos/services/files_service.dart'; import 'package:photos/ui/viewer/file/thumbnail_widget.dart'; diff --git a/lib/ui/viewer/file/zoomable_image.dart b/lib/ui/viewer/file/zoomable_image.dart index e7d436969..a17e54b4b 100644 --- a/lib/ui/viewer/file/zoomable_image.dart +++ b/lib/ui/viewer/file/zoomable_image.dart @@ -12,7 +12,7 @@ import 'package:photos/core/event_bus.dart'; import 'package:photos/db/files_db.dart'; import 'package:photos/events/files_updated_event.dart'; import 'package:photos/events/local_photos_updated_event.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import "package:photos/models/metadata/file_magic.dart"; import "package:photos/services/file_magic_service.dart"; import 'package:photos/ui/common/loading_widget.dart'; diff --git a/lib/ui/viewer/file/zoomable_live_image.dart b/lib/ui/viewer/file/zoomable_live_image.dart index 5b12dd909..9d6f69a10 100644 --- a/lib/ui/viewer/file/zoomable_live_image.dart +++ b/lib/ui/viewer/file/zoomable_live_image.dart @@ -7,8 +7,8 @@ import 'package:motion_photos/motion_photos.dart'; import "package:photos/core/configuration.dart"; import 'package:photos/core/constants.dart'; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/file.dart'; -import "package:photos/models/file_type.dart"; +import "package:photos/models/file/extensions/file_props.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/models/metadata/file_magic.dart"; import "package:photos/services/file_magic_service.dart"; import 'package:photos/ui/viewer/file/zoomable_image.dart'; @@ -18,13 +18,13 @@ import 'package:shared_preferences/shared_preferences.dart'; import 'package:video_player/video_player.dart'; class ZoomableLiveImage extends StatefulWidget { - final EnteFile file; + final EnteFile enteFile; final Function(bool)? shouldDisableScroll; final String? tagPrefix; final Decoration? backgroundDecoration; const ZoomableLiveImage( - this.file, { + this.enteFile, { Key? key, this.shouldDisableScroll, required this.tagPrefix, @@ -38,7 +38,7 @@ class ZoomableLiveImage extends StatefulWidget { class _ZoomableLiveImageState extends State with SingleTickerProviderStateMixin { final Logger _logger = Logger("ZoomableLiveImage"); - late EnteFile _file; + late EnteFile _enteFile; bool _showVideo = false; bool _isLoadingVideoPlayer = false; @@ -47,7 +47,7 @@ class _ZoomableLiveImageState extends State @override void initState() { - _file = widget.file; + _enteFile = widget.enteFile; Future.microtask(() => _showHintForMotionPhotoPlay).ignore(); super.initState(); } @@ -76,7 +76,7 @@ class _ZoomableLiveImageState extends State content = _getVideoPlayer(); } else { content = ZoomableImage( - _file, + _enteFile, tagPrefix: widget.tagPrefix, shouldDisableScroll: widget.shouldDisableScroll, backgroundDecoration: widget.backgroundDecoration, @@ -124,27 +124,30 @@ class _ZoomableLiveImageState extends State return; } _isLoadingVideoPlayer = true; - final File? videoFile = _file.fileType == FileType.livePhoto + // For non-live photo, with fileType as Image, we still call _getMotionPhoto + // to check if it is a motion photo. This is needed to handle earlier + // uploads and upload from desktop + final File? videoFile = _enteFile.isLivePhoto ? await _getLivePhotoVideo() : await _getMotionPhotoVideo(); if (videoFile != null && videoFile.existsSync()) { _setVideoPlayerController(file: videoFile); - } else if (_file.fileType == FileType.livePhoto) { + } else if (_enteFile.isLivePhoto) { showShortToast(context, S.of(context).downloadFailed); } _isLoadingVideoPlayer = false; } Future _getLivePhotoVideo() async { - if (_file.isRemoteFile && !(await isFileCached(_file, liveVideo: true))) { + if (_enteFile.isRemoteFile && !(await isFileCached(_enteFile, liveVideo: true))) { showShortToast(context, S.of(context).downloading); } - File? videoFile = await getFile(widget.file, liveVideo: true) + File? videoFile = await getFile(widget.enteFile, liveVideo: true) .timeout(const Duration(seconds: 15)) .onError((dynamic e, s) { - _logger.info("getFile failed ${_file.tag}", e); + _logger.info("getFile failed ${_enteFile.tag}", e); return null; }); @@ -152,11 +155,11 @@ class _ZoomableLiveImageState extends State // getFile with liveVideo as true can fail for file with localID when // the live photo was downloaded from remote. if ((videoFile == null || !videoFile.existsSync()) && - _file.uploadedFileID != null) { - videoFile = await getFileFromServer(widget.file, liveVideo: true) + _enteFile.uploadedFileID != null) { + videoFile = await getFileFromServer(widget.enteFile, liveVideo: true) .timeout(const Duration(seconds: 15)) .onError((dynamic e, s) { - _logger.info("getRemoteFile failed ${_file.tag}", e); + _logger.info("getRemoteFile failed ${_enteFile.tag}", e); return null; }); } @@ -164,25 +167,27 @@ class _ZoomableLiveImageState extends State } Future _getMotionPhotoVideo() async { - if (_file.isRemoteFile && !(await isFileCached(_file))) { + if (_enteFile.isRemoteFile && !(await isFileCached(_enteFile))) { showShortToast(context, S.of(context).downloading); } final File? imageFile = await getFile( - widget.file, + widget.enteFile, isOrigin: !Platform.isAndroid, ).timeout(const Duration(seconds: 15)).onError((dynamic e, s) { - _logger.info("getFile failed ${_file.tag}", e); + _logger.info("getFile failed ${_enteFile.tag}", e); return null; }); if (imageFile != null) { final motionPhoto = MotionPhotos(imageFile.path); final index = await motionPhoto.getMotionVideoIndex(); if (index != null) { - if (widget.file.pubMagicMetadata?.mvi == null && - (widget.file.ownerID ?? 0) == Configuration.instance.getUserID()!) { + // Update the metadata if it is not updated + if (!_enteFile.isMotionPhoto && + _enteFile + .canEditMetaInfo(Configuration.instance.getUserID()!)) { FileMagicService.instance.updatePublicMagicMetadata( - [widget.file], + [_enteFile], {motionVideoIndexKey: index.start}, ).ignore(); } @@ -208,8 +213,7 @@ class _ZoomableLiveImageState extends State } void _showHintForMotionPhotoPlay() async { - if (widget.file.fileType != FileType.livePhoto || - widget.file.pubMagicMetadata?.mvi != null) { + if (!_enteFile.isLiveOrMotionPhoto) { return; } final preferences = await SharedPreferences.getInstance(); diff --git a/lib/ui/viewer/file_details/added_by_widget.dart b/lib/ui/viewer/file_details/added_by_widget.dart index b6e319c1b..e32ec4087 100644 --- a/lib/ui/viewer/file_details/added_by_widget.dart +++ b/lib/ui/viewer/file_details/added_by_widget.dart @@ -1,6 +1,6 @@ import "package:flutter/material.dart"; import "package:photos/generated/l10n.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/services/collections_service.dart"; import "package:photos/theme/ente_theme.dart"; diff --git a/lib/ui/viewer/file_details/albums_item_widget.dart b/lib/ui/viewer/file_details/albums_item_widget.dart index 158a26366..7f0219474 100644 --- a/lib/ui/viewer/file_details/albums_item_widget.dart +++ b/lib/ui/viewer/file_details/albums_item_widget.dart @@ -2,9 +2,9 @@ import "package:flutter/material.dart"; import "package:logging/logging.dart"; import "package:photos/db/files_db.dart"; import "package:photos/generated/l10n.dart"; -import "package:photos/models/collection.dart"; -import "package:photos/models/collection_items.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/collection/collection.dart'; +import 'package:photos/models/collection/collection_items.dart'; +import 'package:photos/models/file/file.dart'; import "package:photos/services/collections_service.dart"; import "package:photos/ui/components/buttons/chip_button_widget.dart"; import "package:photos/ui/components/info_item_widget.dart"; diff --git a/lib/ui/viewer/file_details/backed_up_time_item_widget.dart b/lib/ui/viewer/file_details/backed_up_time_item_widget.dart index 12afaea82..28f9cff87 100644 --- a/lib/ui/viewer/file_details/backed_up_time_item_widget.dart +++ b/lib/ui/viewer/file_details/backed_up_time_item_widget.dart @@ -1,6 +1,6 @@ import "package:flutter/material.dart"; import "package:intl/intl.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/theme/ente_theme.dart"; import "package:photos/ui/components/info_item_widget.dart"; import "package:photos/utils/date_time_util.dart"; diff --git a/lib/ui/viewer/file_details/creation_time_item_widget.dart b/lib/ui/viewer/file_details/creation_time_item_widget.dart index ced525aba..32b7e6112 100644 --- a/lib/ui/viewer/file_details/creation_time_item_widget.dart +++ b/lib/ui/viewer/file_details/creation_time_item_widget.dart @@ -2,7 +2,7 @@ import "package:flutter/material.dart"; import "package:flutter_datetime_picker_bdaya/flutter_datetime_picker_bdaya.dart"; import "package:intl/intl.dart"; import "package:photos/ente_theme_data.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/theme/ente_theme.dart"; import "package:photos/ui/components/info_item_widget.dart"; import "package:photos/utils/date_time_util.dart"; diff --git a/lib/ui/viewer/file_details/exif_item_widgets.dart b/lib/ui/viewer/file_details/exif_item_widgets.dart index 221036ae6..0d231cd91 100644 --- a/lib/ui/viewer/file_details/exif_item_widgets.dart +++ b/lib/ui/viewer/file_details/exif_item_widgets.dart @@ -1,7 +1,7 @@ import "package:exif/exif.dart"; import "package:flutter/material.dart"; import "package:photos/generated/l10n.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/theme/colors.dart"; import "package:photos/theme/ente_theme.dart"; import "package:photos/ui/components/info_item_widget.dart"; diff --git a/lib/ui/viewer/file_details/favorite_widget.dart b/lib/ui/viewer/file_details/favorite_widget.dart index b741ad838..262ced2e9 100644 --- a/lib/ui/viewer/file_details/favorite_widget.dart +++ b/lib/ui/viewer/file_details/favorite_widget.dart @@ -2,7 +2,7 @@ import "package:flutter/material.dart"; import "package:like_button/like_button.dart"; import "package:logging/logging.dart"; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import "package:photos/services/favorites_service.dart"; import "package:photos/ui/common/progress_dialog.dart"; import "package:photos/utils/dialog_util.dart"; diff --git a/lib/ui/viewer/file_details/file_properties_item_widget.dart b/lib/ui/viewer/file_details/file_properties_item_widget.dart index 1b9daeb73..1411d7588 100644 --- a/lib/ui/viewer/file_details/file_properties_item_widget.dart +++ b/lib/ui/viewer/file_details/file_properties_item_widget.dart @@ -1,7 +1,7 @@ import "package:flutter/material.dart"; import 'package:path/path.dart' as path; -import "package:photos/models/file.dart"; -import "package:photos/models/file_type.dart"; +import 'package:photos/models/file/file.dart'; +import 'package:photos/models/file/file_type.dart'; import "package:photos/theme/ente_theme.dart"; import "package:photos/ui/components/info_item_widget.dart"; import "package:photos/utils/date_time_util.dart"; diff --git a/lib/ui/viewer/file_details/objects_item_widget.dart b/lib/ui/viewer/file_details/objects_item_widget.dart index c234a6a13..b2f5e5548 100644 --- a/lib/ui/viewer/file_details/objects_item_widget.dart +++ b/lib/ui/viewer/file_details/objects_item_widget.dart @@ -2,7 +2,7 @@ import "package:flutter/foundation.dart"; import "package:flutter/material.dart"; import "package:logging/logging.dart"; import "package:photos/generated/l10n.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/services/object_detection/object_detection_service.dart"; import "package:photos/ui/components/buttons/chip_button_widget.dart"; import "package:photos/ui/components/info_item_widget.dart"; diff --git a/lib/ui/viewer/file_details/upload_icon_widget.dart b/lib/ui/viewer/file_details/upload_icon_widget.dart index 8d8dcb03d..944aea936 100644 --- a/lib/ui/viewer/file_details/upload_icon_widget.dart +++ b/lib/ui/viewer/file_details/upload_icon_widget.dart @@ -7,7 +7,7 @@ import "package:photos/core/event_bus.dart"; import "package:photos/db/files_db.dart"; import "package:photos/events/collection_updated_event.dart"; import "package:photos/events/files_updated_event.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/services/collections_service.dart"; import "package:photos/services/hidden_service.dart"; import "package:photos/services/ignored_files_service.dart"; diff --git a/lib/ui/viewer/gallery/collection_page.dart b/lib/ui/viewer/gallery/collection_page.dart index e15758a11..20c362617 100644 --- a/lib/ui/viewer/gallery/collection_page.dart +++ b/lib/ui/viewer/gallery/collection_page.dart @@ -5,8 +5,8 @@ import 'package:photos/db/files_db.dart'; import "package:photos/events/collection_meta_event.dart"; import 'package:photos/events/collection_updated_event.dart'; import 'package:photos/events/files_updated_event.dart'; -import 'package:photos/models/collection_items.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/collection/collection_items.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/file_load_result.dart'; import 'package:photos/models/gallery_type.dart'; import 'package:photos/models/selected_files.dart'; diff --git a/lib/ui/viewer/gallery/component/gallery_file_widget.dart b/lib/ui/viewer/gallery/component/gallery_file_widget.dart index e154e0800..425fe0ab3 100644 --- a/lib/ui/viewer/gallery/component/gallery_file_widget.dart +++ b/lib/ui/viewer/gallery/component/gallery_file_widget.dart @@ -3,7 +3,7 @@ import "package:flutter/services.dart"; import "package:media_extension/media_extension.dart"; import "package:media_extension/media_extension_action_types.dart"; import "package:photos/core/constants.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/models/selected_files.dart"; import "package:photos/services/app_lifecycle_service.dart"; import "package:photos/theme/ente_theme.dart"; diff --git a/lib/ui/viewer/gallery/component/grid/gallery_grid_view_widget.dart b/lib/ui/viewer/gallery/component/grid/gallery_grid_view_widget.dart index a88f1412b..1d5362825 100644 --- a/lib/ui/viewer/gallery/component/grid/gallery_grid_view_widget.dart +++ b/lib/ui/viewer/gallery/component/grid/gallery_grid_view_widget.dart @@ -1,6 +1,6 @@ import "package:flutter/widgets.dart"; import "package:photos/core/constants.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/models/selected_files.dart"; import "package:photos/ui/viewer/gallery/component/gallery_file_widget.dart"; import "package:photos/ui/viewer/gallery/gallery.dart"; diff --git a/lib/ui/viewer/gallery/component/grid/lazy_grid_view.dart b/lib/ui/viewer/gallery/component/grid/lazy_grid_view.dart index e273aa580..248b4c566 100644 --- a/lib/ui/viewer/gallery/component/grid/lazy_grid_view.dart +++ b/lib/ui/viewer/gallery/component/grid/lazy_grid_view.dart @@ -5,7 +5,7 @@ import "package:flutter/material.dart"; import "package:photos/core/configuration.dart"; import "package:photos/core/event_bus.dart"; import "package:photos/events/clear_selections_event.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/models/selected_files.dart"; import "package:photos/ui/viewer/gallery/component/grid/non_recyclable_grid_view_widget.dart"; import "package:photos/ui/viewer/gallery/component/grid/recyclable_grid_view_widget.dart"; diff --git a/lib/ui/viewer/gallery/component/grid/non_recyclable_grid_view_widget.dart b/lib/ui/viewer/gallery/component/grid/non_recyclable_grid_view_widget.dart index dcbf57ba0..80e136af5 100644 --- a/lib/ui/viewer/gallery/component/grid/non_recyclable_grid_view_widget.dart +++ b/lib/ui/viewer/gallery/component/grid/non_recyclable_grid_view_widget.dart @@ -1,5 +1,5 @@ import "package:flutter/material.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/models/selected_files.dart"; import "package:photos/ui/viewer/gallery/component/grid/gallery_grid_view_widget.dart"; import "package:photos/ui/viewer/gallery/component/grid/place_holder_grid_view_widget.dart"; diff --git a/lib/ui/viewer/gallery/component/grid/recyclable_grid_view_widget.dart b/lib/ui/viewer/gallery/component/grid/recyclable_grid_view_widget.dart index 71663f6a3..0e5f264f3 100644 --- a/lib/ui/viewer/gallery/component/grid/recyclable_grid_view_widget.dart +++ b/lib/ui/viewer/gallery/component/grid/recyclable_grid_view_widget.dart @@ -1,5 +1,5 @@ import "package:flutter/material.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/models/selected_files.dart"; import "package:photos/ui/viewer/gallery/component/grid/gallery_grid_view_widget.dart"; import "package:photos/ui/viewer/gallery/component/grid/place_holder_grid_view_widget.dart"; diff --git a/lib/ui/viewer/gallery/component/group/group_gallery.dart b/lib/ui/viewer/gallery/component/group/group_gallery.dart index 5dba3ab46..5a54407fe 100644 --- a/lib/ui/viewer/gallery/component/group/group_gallery.dart +++ b/lib/ui/viewer/gallery/component/group/group_gallery.dart @@ -2,7 +2,7 @@ import 'dart:math'; import 'package:flutter/material.dart'; import 'package:photos/core/constants.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/selected_files.dart'; import "package:photos/ui/viewer/gallery/component/grid/lazy_grid_view.dart"; import 'package:photos/ui/viewer/gallery/gallery.dart'; diff --git a/lib/ui/viewer/gallery/component/group/lazy_group_gallery.dart b/lib/ui/viewer/gallery/component/group/lazy_group_gallery.dart index 716b50eec..f72167e0b 100644 --- a/lib/ui/viewer/gallery/component/group/lazy_group_gallery.dart +++ b/lib/ui/viewer/gallery/component/group/lazy_group_gallery.dart @@ -5,7 +5,7 @@ import 'package:flutter/material.dart'; import 'package:logging/logging.dart'; import 'package:photos/core/constants.dart'; import 'package:photos/events/files_updated_event.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/selected_files.dart'; import 'package:photos/theme/ente_theme.dart'; import "package:photos/ui/viewer/gallery/component/grid/place_holder_grid_view_widget.dart"; diff --git a/lib/ui/viewer/gallery/component/multiple_groups_gallery_view.dart b/lib/ui/viewer/gallery/component/multiple_groups_gallery_view.dart index ebd5f9281..094f915d3 100644 --- a/lib/ui/viewer/gallery/component/multiple_groups_gallery_view.dart +++ b/lib/ui/viewer/gallery/component/multiple_groups_gallery_view.dart @@ -4,7 +4,7 @@ import "package:logging/logging.dart"; import "package:photos/core/event_bus.dart"; import "package:photos/ente_theme_data.dart"; import "package:photos/events/files_updated_event.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/models/selected_files.dart"; import "package:photos/ui/common/loading_widget.dart"; import "package:photos/ui/huge_listview/huge_listview.dart"; diff --git a/lib/ui/viewer/gallery/device_folder_page.dart b/lib/ui/viewer/gallery/device_folder_page.dart index 08b4e7e79..a3787eeea 100644 --- a/lib/ui/viewer/gallery/device_folder_page.dart +++ b/lib/ui/viewer/gallery/device_folder_page.dart @@ -9,7 +9,7 @@ import 'package:photos/events/files_updated_event.dart'; import 'package:photos/events/local_photos_updated_event.dart'; import "package:photos/generated/l10n.dart"; import 'package:photos/models/device_collection.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/gallery_type.dart'; import 'package:photos/models/selected_files.dart'; import 'package:photos/services/ignored_files_service.dart'; diff --git a/lib/ui/viewer/gallery/empty_album_state.dart b/lib/ui/viewer/gallery/empty_album_state.dart index 2c1a8f0c8..d8e985e59 100644 --- a/lib/ui/viewer/gallery/empty_album_state.dart +++ b/lib/ui/viewer/gallery/empty_album_state.dart @@ -1,6 +1,6 @@ import "package:flutter/material.dart"; import "package:photos/generated/l10n.dart"; -import "package:photos/models/collection.dart"; +import 'package:photos/models/collection/collection.dart'; import "package:photos/ui/components/buttons/button_widget.dart"; import "package:photos/ui/components/models/button_type.dart"; import "package:photos/ui/viewer/gallery/hooks/add_photos_sheet.dart"; diff --git a/lib/ui/viewer/gallery/gallery.dart b/lib/ui/viewer/gallery/gallery.dart index 99c11cb4a..21a7696ec 100644 --- a/lib/ui/viewer/gallery/gallery.dart +++ b/lib/ui/viewer/gallery/gallery.dart @@ -8,7 +8,7 @@ import 'package:photos/core/event_bus.dart'; import 'package:photos/events/event.dart'; import 'package:photos/events/files_updated_event.dart'; import 'package:photos/events/tab_changed_event.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/file_load_result.dart'; import 'package:photos/models/selected_files.dart'; import 'package:photos/ui/common/loading_widget.dart'; diff --git a/lib/ui/viewer/gallery/gallery_app_bar_widget.dart b/lib/ui/viewer/gallery/gallery_app_bar_widget.dart index 6e2f41c1e..590cd9ace 100644 --- a/lib/ui/viewer/gallery/gallery_app_bar_widget.dart +++ b/lib/ui/viewer/gallery/gallery_app_bar_widget.dart @@ -11,7 +11,7 @@ import "package:photos/db/files_db.dart"; import 'package:photos/events/subscription_purchased_event.dart'; import "package:photos/generated/l10n.dart"; import 'package:photos/models/backup_status.dart'; -import 'package:photos/models/collection.dart'; +import 'package:photos/models/collection/collection.dart'; import 'package:photos/models/device_collection.dart'; import 'package:photos/models/gallery_type.dart'; import "package:photos/models/metadata/common_keys.dart"; diff --git a/lib/ui/viewer/gallery/hidden_page.dart b/lib/ui/viewer/gallery/hidden_page.dart index de6f9c82e..f9e3525fd 100644 --- a/lib/ui/viewer/gallery/hidden_page.dart +++ b/lib/ui/viewer/gallery/hidden_page.dart @@ -8,7 +8,7 @@ import 'package:photos/db/files_db.dart'; import "package:photos/events/collection_updated_event.dart"; import 'package:photos/events/files_updated_event.dart'; import "package:photos/generated/l10n.dart"; -import "package:photos/models/collection.dart"; +import 'package:photos/models/collection/collection.dart'; import 'package:photos/models/gallery_type.dart'; import 'package:photos/models/selected_files.dart'; import 'package:photos/services/collections_service.dart'; diff --git a/lib/ui/viewer/gallery/hooks/add_photos_sheet.dart b/lib/ui/viewer/gallery/hooks/add_photos_sheet.dart index e41c6e4cb..f9db777a8 100644 --- a/lib/ui/viewer/gallery/hooks/add_photos_sheet.dart +++ b/lib/ui/viewer/gallery/hooks/add_photos_sheet.dart @@ -7,7 +7,7 @@ import "package:photos/core/configuration.dart"; import "package:photos/db/files_db.dart"; import "package:photos/generated/l10n.dart"; import "package:photos/l10n/l10n.dart"; -import "package:photos/models/collection.dart"; +import 'package:photos/models/collection/collection.dart'; import "package:photos/models/selected_files.dart"; import "package:photos/services/collections_service.dart"; import "package:photos/services/filter/db_filters.dart"; diff --git a/lib/ui/viewer/gallery/hooks/pick_cover_photo.dart b/lib/ui/viewer/gallery/hooks/pick_cover_photo.dart index e7db91aa1..af9a3ab72 100644 --- a/lib/ui/viewer/gallery/hooks/pick_cover_photo.dart +++ b/lib/ui/viewer/gallery/hooks/pick_cover_photo.dart @@ -6,7 +6,7 @@ import "package:photos/core/event_bus.dart"; import "package:photos/db/files_db.dart"; import "package:photos/events/collection_updated_event.dart"; import "package:photos/generated/l10n.dart"; -import "package:photos/models/collection.dart"; +import 'package:photos/models/collection/collection.dart'; import "package:photos/models/file_load_result.dart"; import "package:photos/models/selected_files.dart"; import "package:photos/services/ignored_files_service.dart"; diff --git a/lib/ui/viewer/gallery/uncategorized_page.dart b/lib/ui/viewer/gallery/uncategorized_page.dart index a3b764c60..012d758b0 100644 --- a/lib/ui/viewer/gallery/uncategorized_page.dart +++ b/lib/ui/viewer/gallery/uncategorized_page.dart @@ -4,7 +4,7 @@ import 'package:photos/db/files_db.dart'; import 'package:photos/events/collection_updated_event.dart'; import 'package:photos/events/files_updated_event.dart'; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/collection.dart'; +import 'package:photos/models/collection/collection.dart'; import 'package:photos/models/file_load_result.dart'; import 'package:photos/models/gallery_type.dart'; import 'package:photos/models/selected_files.dart'; diff --git a/lib/ui/viewer/location/dynamic_location_gallery_widget.dart b/lib/ui/viewer/location/dynamic_location_gallery_widget.dart index d6b4ad2e5..3103fa143 100644 --- a/lib/ui/viewer/location/dynamic_location_gallery_widget.dart +++ b/lib/ui/viewer/location/dynamic_location_gallery_widget.dart @@ -4,7 +4,7 @@ import "dart:math"; import "package:flutter/material.dart"; import "package:photos/core/constants.dart"; import "package:photos/db/files_db.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/models/file_load_result.dart"; import "package:photos/services/collections_service.dart"; import "package:photos/services/filter/db_filters.dart"; diff --git a/lib/ui/viewer/location/edit_center_point_tile_widget.dart b/lib/ui/viewer/location/edit_center_point_tile_widget.dart index 3ea2a3c1c..169dc825d 100644 --- a/lib/ui/viewer/location/edit_center_point_tile_widget.dart +++ b/lib/ui/viewer/location/edit_center_point_tile_widget.dart @@ -1,6 +1,6 @@ import "package:flutter/material.dart"; import "package:photos/generated/l10n.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/services/location_service.dart"; import "package:photos/states/location_state.dart"; import "package:photos/theme/ente_theme.dart"; diff --git a/lib/ui/viewer/location/location_screen.dart b/lib/ui/viewer/location/location_screen.dart index 6dcde2562..2915f94ae 100644 --- a/lib/ui/viewer/location/location_screen.dart +++ b/lib/ui/viewer/location/location_screen.dart @@ -8,7 +8,7 @@ import "package:photos/db/files_db.dart"; import "package:photos/events/files_updated_event.dart"; import "package:photos/events/local_photos_updated_event.dart"; import "package:photos/generated/l10n.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/models/file_load_result.dart"; import "package:photos/models/gallery_type.dart"; import "package:photos/models/selected_files.dart"; diff --git a/lib/ui/viewer/location/pick_center_point_widget.dart b/lib/ui/viewer/location/pick_center_point_widget.dart index 6069df7c1..7f7269aee 100644 --- a/lib/ui/viewer/location/pick_center_point_widget.dart +++ b/lib/ui/viewer/location/pick_center_point_widget.dart @@ -7,7 +7,7 @@ import "package:photos/core/event_bus.dart"; import "package:photos/db/files_db.dart"; import "package:photos/events/local_photos_updated_event.dart"; import "package:photos/generated/l10n.dart"; -import "package:photos/models/file.dart"; +import 'package:photos/models/file/file.dart'; import "package:photos/models/file_load_result.dart"; import "package:photos/models/local_entity_data.dart"; import "package:photos/models/location_tag/location_tag.dart"; diff --git a/lib/ui/viewer/search/result/file_result_widget.dart b/lib/ui/viewer/search/result/file_result_widget.dart index 505336f78..03a7cb405 100644 --- a/lib/ui/viewer/search/result/file_result_widget.dart +++ b/lib/ui/viewer/search/result/file_result_widget.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:photos/ente_theme_data.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/search/file_search_result.dart'; import 'package:photos/ui/viewer/file/detail_page.dart'; import 'package:photos/ui/viewer/search/result/search_thumbnail_widget.dart'; diff --git a/lib/ui/viewer/search/result/search_result_page.dart b/lib/ui/viewer/search/result/search_result_page.dart index 5d20b7973..6474ca65b 100644 --- a/lib/ui/viewer/search/result/search_result_page.dart +++ b/lib/ui/viewer/search/result/search_result_page.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:photos/core/event_bus.dart'; import 'package:photos/events/files_updated_event.dart'; import 'package:photos/events/local_photos_updated_event.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/file_load_result.dart'; import 'package:photos/models/gallery_type.dart'; import 'package:photos/models/search/search_result.dart'; diff --git a/lib/ui/viewer/search/result/search_thumbnail_widget.dart b/lib/ui/viewer/search/result/search_thumbnail_widget.dart index 066bded02..35771843f 100644 --- a/lib/ui/viewer/search/result/search_thumbnail_widget.dart +++ b/lib/ui/viewer/search/result/search_thumbnail_widget.dart @@ -1,5 +1,5 @@ import 'package:flutter/widgets.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/ui/viewer/file/no_thumbnail_widget.dart'; import 'package:photos/ui/viewer/file/thumbnail_widget.dart'; diff --git a/lib/utils/delete_file_util.dart b/lib/utils/delete_file_util.dart index 98a4ad206..5809c3850 100644 --- a/lib/utils/delete_file_util.dart +++ b/lib/utils/delete_file_util.dart @@ -13,7 +13,7 @@ import 'package:photos/events/files_updated_event.dart'; import "package:photos/events/force_reload_trash_page_event.dart"; import 'package:photos/events/local_photos_updated_event.dart'; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/models/selected_files.dart'; import 'package:photos/models/trash_item_request.dart'; import 'package:photos/services/remote_sync_service.dart'; diff --git a/lib/utils/diff_fetcher.dart b/lib/utils/diff_fetcher.dart index 2d6226762..63a25099d 100644 --- a/lib/utils/diff_fetcher.dart +++ b/lib/utils/diff_fetcher.dart @@ -4,7 +4,7 @@ import 'dart:math'; import 'package:logging/logging.dart'; import 'package:photos/core/network/network.dart'; import 'package:photos/db/files_db.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import "package:photos/models/metadata/file_magic.dart"; import 'package:photos/utils/crypto_util.dart'; import 'package:photos/utils/file_download_util.dart'; diff --git a/lib/utils/exif_util.dart b/lib/utils/exif_util.dart index 33b157dd3..7e8a99fbd 100644 --- a/lib/utils/exif_util.dart +++ b/lib/utils/exif_util.dart @@ -4,7 +4,7 @@ import "package:computer/computer.dart"; import 'package:exif/exif.dart'; import 'package:intl/intl.dart'; import 'package:logging/logging.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import "package:photos/models/location/location.dart"; import "package:photos/services/location_service.dart"; import 'package:photos/utils/file_util.dart'; diff --git a/lib/utils/file_download_util.dart b/lib/utils/file_download_util.dart index eb7381efb..0913a7acd 100644 --- a/lib/utils/file_download_util.dart +++ b/lib/utils/file_download_util.dart @@ -6,7 +6,7 @@ import 'package:dio/dio.dart'; import 'package:logging/logging.dart'; import 'package:photos/core/configuration.dart'; import 'package:photos/core/network/network.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/services/collections_service.dart'; import 'package:photos/utils/crypto_util.dart'; import "package:photos/utils/data_util.dart"; diff --git a/lib/utils/file_uploader.dart b/lib/utils/file_uploader.dart index e304b5d16..363c8e97f 100644 --- a/lib/utils/file_uploader.dart +++ b/lib/utils/file_uploader.dart @@ -20,8 +20,8 @@ import 'package:photos/events/local_photos_updated_event.dart'; import 'package:photos/events/subscription_purchased_event.dart'; import 'package:photos/main.dart'; import 'package:photos/models/encryption_result.dart'; -import 'package:photos/models/file.dart'; -import 'package:photos/models/file_type.dart'; +import 'package:photos/models/file/file.dart'; +import 'package:photos/models/file/file_type.dart'; import "package:photos/models/metadata/file_magic.dart"; import 'package:photos/models/upload_url.dart'; import "package:photos/models/user_details.dart"; @@ -49,7 +49,8 @@ class FileUploader { final _logger = Logger("FileUploader"); final _dio = NetworkClient.instance.getDio(); final _enteDio = NetworkClient.instance.enteDio; - final LinkedHashMap _queue = LinkedHashMap(); + final LinkedHashMap _queue = + LinkedHashMap(); final _uploadLocks = UploadLocksDB.instance; final kSafeBufferForLockExpiry = const Duration(days: 1).inMicroseconds; final kBGTaskDeathTimeout = const Duration(seconds: 5).inMicroseconds; @@ -126,18 +127,18 @@ class FileUploader { if (file.localID == null || file.localID!.isEmpty) { return Future.error(Exception("file's localID can not be null or empty")); } - // If the file hasn't been queued yet, queue it + // If the file hasn't been queued yet, queue it for upload _totalCountInUploadSession++; - if (!_queue.containsKey(file.localID)) { + final String localID = file.localID!; + if (!_queue.containsKey(localID)) { final completer = Completer(); - _queue[file.localID] = FileUploadItem(file, collectionID, completer); + _queue[localID] = FileUploadItem(file, collectionID, completer); _pollQueue(); return completer.future; } - // If the file exists in the queue for a matching collectionID, // return the existing future - final item = _queue[file.localID]; + final FileUploadItem item = _queue[localID]!; if (item.collectionID == collectionID) { _totalCountInUploadSession--; return item.completer.future; @@ -154,16 +155,10 @@ class FileUploader { "original upload completer resolved, try adding the file to another " "collection", ); - if (uploadedFile == null) { - /* todo: handle this case, ideally during next sync the localId - should be uploaded to this collection ID - */ - _logger.severe('unexpected upload state'); - return null; - } + return CollectionsService.instance .addToCollection(collectionID, [uploadedFile]).then((aVoid) { - return uploadedFile as EnteFile; + return uploadedFile; }); }); } @@ -180,7 +175,7 @@ class FileUploader { uploadsToBeRemoved.add(pendingUpload.key); }); for (final id in uploadsToBeRemoved) { - _queue.remove(id).completer.completeError(reason); + _queue.remove(id)?.completer.completeError(reason); } _totalCountInUploadSession = 0; } @@ -202,7 +197,7 @@ class FileUploader { } }); for (final id in uploadsToBeRemoved) { - _queue.remove(id).completer.completeError(reason); + _queue.remove(id)?.completer.completeError(reason); } _logger.info( 'number of enteries removed from queue ${uploadsToBeRemoved.length}', @@ -257,7 +252,7 @@ class FileUploader { if (file.fileType == FileType.video) { _videoUploadCounter++; } - final localID = file.localID; + final localID = file.localID!; try { final uploadedFile = await _tryToUpload(file, collectionID, forcedUpload).timeout( @@ -268,14 +263,14 @@ class FileUploader { throw TimeoutException(message); }, ); - _queue.remove(localID).completer.complete(uploadedFile); + _queue.remove(localID)!.completer.complete(uploadedFile); return uploadedFile; } catch (e) { if (e is LockAlreadyAcquiredError) { - _queue[localID].status = UploadStatus.inBackground; - return _queue[localID].completer.future; + _queue[localID]!.status = UploadStatus.inBackground; + return _queue[localID]!.completer.future; } else { - _queue.remove(localID).completer.completeError(e); + _queue.remove(localID)!.completer.completeError(e); return null; } } finally { @@ -1028,19 +1023,19 @@ class FileUploader { for (final upload in blockedUploads) { final file = upload.value.file; final isStillLocked = await _uploadLocks.isLocked( - file.localID, + file.localID!, ProcessType.background.toString(), ); if (!isStillLocked) { - final completer = _queue.remove(upload.key).completer; + final completer = _queue.remove(upload.key)?.completer; final dbFile = - await FilesDB.instance.getFile(upload.value.file.generatedID); + await FilesDB.instance.getFile(upload.value.file.generatedID!); if (dbFile?.uploadedFileID != null) { _logger.info("Background upload success detected"); - completer.complete(dbFile); + completer?.complete(dbFile); } else { _logger.info("Background upload failure detected"); - completer.completeError(SilentlyCancelUploadsError()); + completer?.completeError(SilentlyCancelUploadsError()); } } } diff --git a/lib/utils/file_uploader_util.dart b/lib/utils/file_uploader_util.dart index 5e369f4a7..91d735202 100644 --- a/lib/utils/file_uploader_util.dart +++ b/lib/utils/file_uploader_util.dart @@ -14,8 +14,8 @@ import 'package:photo_manager/photo_manager.dart'; import 'package:photos/core/configuration.dart'; import 'package:photos/core/constants.dart'; import 'package:photos/core/errors.dart'; -import 'package:photos/models/file.dart'; -import 'package:photos/models/file_type.dart'; +import 'package:photos/models/file/file.dart'; +import 'package:photos/models/file/file_type.dart'; import "package:photos/models/location/location.dart"; import "package:photos/models/metadata/file_magic.dart"; import "package:photos/services/file_magic_service.dart"; diff --git a/lib/utils/file_util.dart b/lib/utils/file_util.dart index d816f4f69..c9a7548fb 100644 --- a/lib/utils/file_util.dart +++ b/lib/utils/file_util.dart @@ -14,8 +14,8 @@ import 'package:photos/core/cache/thumbnail_in_memory_cache.dart'; import 'package:photos/core/cache/video_cache_manager.dart'; import 'package:photos/core/configuration.dart'; import 'package:photos/core/constants.dart'; -import 'package:photos/models/file.dart'; -import 'package:photos/models/file_type.dart'; +import 'package:photos/models/file/file.dart'; +import 'package:photos/models/file/file_type.dart'; import 'package:photos/utils/file_download_util.dart'; import 'package:photos/utils/thumbnail_util.dart'; diff --git a/lib/utils/magic_util.dart b/lib/utils/magic_util.dart index e0b0ae1dc..4c12af720 100644 --- a/lib/utils/magic_util.dart +++ b/lib/utils/magic_util.dart @@ -7,8 +7,8 @@ import "package:photos/events/collection_updated_event.dart"; import "package:photos/events/files_updated_event.dart"; import 'package:photos/events/force_reload_home_gallery_event.dart'; import "package:photos/generated/l10n.dart"; -import 'package:photos/models/collection.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/collection/collection.dart'; +import 'package:photos/models/file/file.dart'; import "package:photos/models/metadata/collection_magic.dart"; import "package:photos/models/metadata/common_keys.dart"; import "package:photos/models/metadata/file_magic.dart"; diff --git a/lib/utils/share_util.dart b/lib/utils/share_util.dart index 54ed3d517..2a9cf5228 100644 --- a/lib/utils/share_util.dart +++ b/lib/utils/share_util.dart @@ -7,8 +7,8 @@ import 'package:path/path.dart'; import "package:photo_manager/photo_manager.dart"; import 'package:photos/core/configuration.dart'; import 'package:photos/core/constants.dart'; -import 'package:photos/models/file.dart'; -import 'package:photos/models/file_type.dart'; +import 'package:photos/models/file/file.dart'; +import 'package:photos/models/file/file_type.dart'; import 'package:photos/utils/date_time_util.dart'; import 'package:photos/utils/dialog_util.dart'; import 'package:photos/utils/exif_util.dart'; diff --git a/lib/utils/thumbnail_util.dart b/lib/utils/thumbnail_util.dart index ae74cda7f..109446ca6 100644 --- a/lib/utils/thumbnail_util.dart +++ b/lib/utils/thumbnail_util.dart @@ -11,7 +11,7 @@ import 'package:photos/core/configuration.dart'; import 'package:photos/core/constants.dart'; import 'package:photos/core/errors.dart'; import 'package:photos/core/network/network.dart'; -import 'package:photos/models/file.dart'; +import 'package:photos/models/file/file.dart'; import 'package:photos/utils/crypto_util.dart'; import 'package:photos/utils/file_download_util.dart'; import 'package:photos/utils/file_uploader_util.dart'; diff --git a/lib/utils/trash_diff_fetcher.dart b/lib/utils/trash_diff_fetcher.dart index 15cce21b8..2b6fb95c8 100644 --- a/lib/utils/trash_diff_fetcher.dart +++ b/lib/utils/trash_diff_fetcher.dart @@ -5,7 +5,7 @@ import 'package:logging/logging.dart'; import 'package:photos/core/network/network.dart'; import "package:photos/models/metadata/file_magic.dart"; -import 'package:photos/models/trash_file.dart'; +import 'package:photos/models/file/trash_file.dart'; import 'package:photos/utils/crypto_util.dart'; import 'package:photos/utils/file_download_util.dart';