Browse Source

Rename: Separate file and album magic property class

Neeraj Gupta 2 years ago
parent
commit
2aa272b9d0

+ 7 - 7
lib/db/files_db.dart

@@ -10,7 +10,7 @@ import 'package:photos/models/file.dart';
 import 'package:photos/models/file_load_result.dart';
 import 'package:photos/models/file_load_result.dart';
 import 'package:photos/models/file_type.dart';
 import 'package:photos/models/file_type.dart';
 import 'package:photos/models/location/location.dart';
 import 'package:photos/models/location/location.dart';
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/common_keys.dart";
 import 'package:photos/utils/file_uploader_util.dart';
 import 'package:photos/utils/file_uploader_util.dart';
 import 'package:sqflite/sqflite.dart';
 import 'package:sqflite/sqflite.dart';
 import 'package:sqflite_migration/sqflite_migration.dart';
 import 'package:sqflite_migration/sqflite_migration.dart';
@@ -264,7 +264,7 @@ class FilesDB {
         ALTER TABLE $filesTable ADD COLUMN $columnMMdVersion INTEGER DEFAULT 0;
         ALTER TABLE $filesTable ADD COLUMN $columnMMdVersion INTEGER DEFAULT 0;
       ''',
       ''',
       '''
       '''
-        ALTER TABLE $filesTable ADD COLUMN $columnMMdVisibility INTEGER DEFAULT $visibilityVisible;
+        ALTER TABLE $filesTable ADD COLUMN $columnMMdVisibility INTEGER DEFAULT $visibleVisibility;
       '''
       '''
     ];
     ];
   }
   }
@@ -500,7 +500,7 @@ class FilesDB {
     int ownerID, {
     int ownerID, {
     int? limit,
     int? limit,
     bool? asc,
     bool? asc,
-    int visibility = visibilityVisible,
+    int visibility = visibleVisibility,
     Set<int>? ignoredCollectionIDs,
     Set<int>? ignoredCollectionIDs,
   }) async {
   }) async {
     final stopWatch = Stopwatch()..start();
     final stopWatch = Stopwatch()..start();
@@ -542,7 +542,7 @@ class FilesDB {
       where:
       where:
           '$columnCreationTime >= ? AND $columnCreationTime <= ? AND ($columnOwnerID IS NULL OR $columnOwnerID = ?)  AND ($columnMMdVisibility IS NULL OR $columnMMdVisibility = ?)'
           '$columnCreationTime >= ? AND $columnCreationTime <= ? AND ($columnOwnerID IS NULL OR $columnOwnerID = ?)  AND ($columnMMdVisibility IS NULL OR $columnMMdVisibility = ?)'
           ' AND ($columnLocalID IS NOT NULL OR ($columnCollectionID IS NOT NULL AND $columnCollectionID IS NOT -1))',
           ' AND ($columnLocalID IS NOT NULL OR ($columnCollectionID IS NOT NULL AND $columnCollectionID IS NOT -1))',
-      whereArgs: [startTime, endTime, ownerID, visibilityVisible],
+      whereArgs: [startTime, endTime, ownerID, visibleVisibility],
       orderBy:
       orderBy:
           '$columnCreationTime ' + order + ', $columnModificationTime ' + order,
           '$columnCreationTime ' + order + ', $columnModificationTime ' + order,
       limit: limit,
       limit: limit,
@@ -613,7 +613,7 @@ class FilesDB {
     int endTime, {
     int endTime, {
     int? limit,
     int? limit,
     bool? asc,
     bool? asc,
-    int visibility = visibilityVisible,
+    int visibility = visibleVisibility,
   }) async {
   }) async {
     final db = await instance.database;
     final db = await instance.database;
     final order = (asc ?? false ? 'ASC' : 'DESC');
     final order = (asc ?? false ? 'ASC' : 'DESC');
@@ -703,7 +703,7 @@ class FilesDB {
         whereClause += " OR ";
         whereClause += " OR ";
       }
       }
     }
     }
-    whereClause += ") AND $columnMMdVisibility = $visibilityVisible";
+    whereClause += ") AND $columnMMdVisibility = $visibleVisibility";
     final results = await db.query(
     final results = await db.query(
       filesTable,
       filesTable,
       where: whereClause,
       where: whereClause,
@@ -1484,7 +1484,7 @@ class FilesDB {
           ' AND $columnCreationTime >= ? AND $columnCreationTime <= ? AND '
           ' AND $columnCreationTime >= ? AND $columnCreationTime <= ? AND '
           '($columnMMdVisibility IS NULL OR $columnMMdVisibility = ?)'
           '($columnMMdVisibility IS NULL OR $columnMMdVisibility = ?)'
           ' AND ($columnLocalID IS NOT NULL OR ($columnCollectionID IS NOT NULL AND $columnCollectionID IS NOT -1))',
           ' AND ($columnLocalID IS NOT NULL OR ($columnCollectionID IS NOT NULL AND $columnCollectionID IS NOT -1))',
-      whereArgs: [startTime, endTime, visibilityVisible],
+      whereArgs: [startTime, endTime, visibleVisibility],
       orderBy:
       orderBy:
           '$columnCreationTime ' + order + ', $columnModificationTime ' + order,
           '$columnCreationTime ' + order + ', $columnModificationTime ' + order,
       limit: limit,
       limit: limit,

+ 4 - 3
lib/models/collection.dart

@@ -2,7 +2,8 @@ import 'dart:convert';
 import 'dart:core';
 import 'dart:core';
 
 
 import 'package:flutter/foundation.dart';
 import 'package:flutter/foundation.dart';
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/collection_magic.dart";
+import "package:photos/models/metadata/common_keys.dart";
 
 
 class Collection {
 class Collection {
   final int id;
   final int id;
@@ -46,7 +47,7 @@ class Collection {
   });
   });
 
 
   bool isArchived() {
   bool isArchived() {
-    return mMdVersion > 0 && magicMetadata.visibility == visibilityArchive;
+    return mMdVersion > 0 && magicMetadata.visibility == archiveVisibility;
   }
   }
 
 
   // hasLink returns true if there's any link attached to the collection
   // hasLink returns true if there's any link attached to the collection
@@ -60,7 +61,7 @@ class Collection {
     if (isDefaultHidden()) {
     if (isDefaultHidden()) {
       return true;
       return true;
     }
     }
-    return mMdVersion > 0 && (magicMetadata.visibility == visibilityHidden);
+    return mMdVersion > 0 && (magicMetadata.visibility == hiddenVisibility);
   }
   }
 
 
   bool isDefaultHidden() {
   bool isDefaultHidden() {

+ 2 - 1
lib/models/file.dart

@@ -9,7 +9,8 @@ import 'package:photos/core/constants.dart';
 import 'package:photos/models/ente_file.dart';
 import 'package:photos/models/ente_file.dart';
 import 'package:photos/models/file_type.dart';
 import 'package:photos/models/file_type.dart';
 import 'package:photos/models/location/location.dart';
 import 'package:photos/models/location/location.dart';
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/file_magic.dart";
+
 import 'package:photos/services/feature_flag_service.dart';
 import 'package:photos/services/feature_flag_service.dart';
 import 'package:photos/utils/date_time_util.dart';
 import 'package:photos/utils/date_time_util.dart';
 import 'package:photos/utils/exif_util.dart';
 import 'package:photos/utils/exif_util.dart';

+ 46 - 0
lib/models/metadata/collection_magic.dart

@@ -0,0 +1,46 @@
+import 'dart:convert';
+
+import "package:photos/models/metadata/common_keys.dart";
+
+// Collection SubType Constants
+const subTypeDefaultHidden = 1;
+const subTypeSharedFilesCollection = 2;
+
+// key for collection subType
+const subTypeKey = 'subType';
+
+class CollectionMagicMetadata {
+  // 0 -> visible
+  // 1 -> archived
+  // 2 -> hidden etc?
+  int visibility;
+
+  // null/0 value -> no subType
+  // 1 -> DEFAULT_HIDDEN COLLECTION for files hidden individually
+  // 2 -> Collections created for sharing selected files
+  int? subType;
+
+  CollectionMagicMetadata({required this.visibility, this.subType});
+
+  Map<String, dynamic> toJson() {
+    final result = {magicKeyVisibility: visibility};
+    if (subType != null) {
+      result[subTypeKey] = subType!;
+    }
+    return result;
+  }
+
+  factory CollectionMagicMetadata.fromEncodedJson(String encodedJson) =>
+      CollectionMagicMetadata.fromJson(jsonDecode(encodedJson));
+
+  factory CollectionMagicMetadata.fromJson(dynamic json) =>
+      CollectionMagicMetadata.fromMap(json);
+
+  static fromMap(Map<String, dynamic>? map) {
+    if (map == null) return null;
+    return CollectionMagicMetadata(
+      visibility: map[magicKeyVisibility] ?? visibleVisibility,
+      subType: map[subTypeKey],
+    );
+  }
+}

+ 6 - 0
lib/models/metadata/common_keys.dart

@@ -0,0 +1,6 @@
+const magicKeyVisibility = 'visibility';
+
+// Visibility Constants
+const visibleVisibility = 0;
+const archiveVisibility = 1;
+const hiddenVisibility = 2;

+ 82 - 0
lib/models/metadata/file_magic.dart

@@ -0,0 +1,82 @@
+import "dart:convert";
+
+import 'package:photos/models/metadata/common_keys.dart';
+
+const editTimeKey = 'editedTime';
+const editNameKey = 'editedName';
+const captionKey = "caption";
+const uploaderNameKey = "uploaderName";
+const widthKey = 'w';
+const heightKey = 'h';
+const latKey = "lat";
+const longKey = "long";
+const motionVideoIndexKey = "mvi";
+
+class MagicMetadata {
+  // 0 -> visible
+  // 1 -> archived
+  // 2 -> hidden etc?
+  int visibility;
+
+  MagicMetadata({required this.visibility});
+
+  factory MagicMetadata.fromEncodedJson(String encodedJson) =>
+      MagicMetadata.fromJson(jsonDecode(encodedJson));
+
+  factory MagicMetadata.fromJson(dynamic json) => MagicMetadata.fromMap(json);
+
+  static fromMap(Map<String, dynamic>? map) {
+    if (map == null) return null;
+    return MagicMetadata(
+      visibility: map[magicKeyVisibility] ?? visibleVisibility,
+    );
+  }
+}
+
+class PubMagicMetadata {
+  int? editedTime;
+  String? editedName;
+  String? caption;
+  String? uploaderName;
+  int? w;
+  int? h;
+  double? lat;
+  double? long;
+
+  // Motion Video Index. Positive value indicates that the file is a motion
+  // photo
+  int? mvi;
+
+  PubMagicMetadata({
+    this.editedTime,
+    this.editedName,
+    this.caption,
+    this.uploaderName,
+    this.w,
+    this.h,
+    this.lat,
+    this.long,
+    this.mvi,
+  });
+
+  factory PubMagicMetadata.fromEncodedJson(String encodedJson) =>
+      PubMagicMetadata.fromJson(jsonDecode(encodedJson));
+
+  factory PubMagicMetadata.fromJson(dynamic json) =>
+      PubMagicMetadata.fromMap(json);
+
+  static fromMap(Map<String, dynamic>? map) {
+    if (map == null) return null;
+    return PubMagicMetadata(
+      editedTime: map[editTimeKey],
+      editedName: map[editNameKey],
+      caption: map[captionKey],
+      uploaderName: map[uploaderNameKey],
+      w: map[widthKey],
+      h: map[heightKey],
+      lat: map[latKey],
+      long: map[longKey],
+      mvi: map[motionVideoIndexKey],
+    );
+  }
+}

+ 0 - 128
lib/models/metadata/magic_metadata.dart

@@ -1,128 +0,0 @@
-import 'dart:convert';
-
-// Visibility Constants
-const visibilityVisible = 0;
-const visibilityArchive = 1;
-const visibilityHidden = 2;
-
-// Collection SubType Constants
-const subTypeDefaultHidden = 1;
-const subTypeSharedFilesCollection = 2;
-
-const magicKeyVisibility = 'visibility';
-// key for collection subType
-const subTypeKey = 'subType';
-
-const pubMagicKeyEditedTime = 'editedTime';
-const pubMagicKeyEditedName = 'editedName';
-const pubMagicKeyCaption = "caption";
-const pubMagicKeyUploaderName = "uploaderName";
-const publicMagicKeyWidth = 'w';
-const publicMagicKeyHeight = 'h';
-const pubMagicKeyLat = "lat";
-const pubMagicKeyLong = "long";
-const pubMotionVideoIndex = "mvi";
-
-class MagicMetadata {
-  // 0 -> visible
-  // 1 -> archived
-  // 2 -> hidden etc?
-  int visibility;
-
-  MagicMetadata({required this.visibility});
-
-  factory MagicMetadata.fromEncodedJson(String encodedJson) =>
-      MagicMetadata.fromJson(jsonDecode(encodedJson));
-
-  factory MagicMetadata.fromJson(dynamic json) => MagicMetadata.fromMap(json);
-
-  static fromMap(Map<String, dynamic>? map) {
-    if (map == null) return null;
-    return MagicMetadata(
-      visibility: map[magicKeyVisibility] ?? visibilityVisible,
-    );
-  }
-}
-
-class PubMagicMetadata {
-  int? editedTime;
-  String? editedName;
-  String? caption;
-  String? uploaderName;
-  int? w;
-  int? h;
-  double? lat;
-  double? long;
-  // Motion Video Index. Positive value indicates that the file is a motion
-  // photo
-  int? mvi;
-
-  PubMagicMetadata({
-    this.editedTime,
-    this.editedName,
-    this.caption,
-    this.uploaderName,
-    this.w,
-    this.h,
-    this.lat,
-    this.long,
-    this.mvi,
-  });
-
-  factory PubMagicMetadata.fromEncodedJson(String encodedJson) =>
-      PubMagicMetadata.fromJson(jsonDecode(encodedJson));
-
-  factory PubMagicMetadata.fromJson(dynamic json) =>
-      PubMagicMetadata.fromMap(json);
-
-  static fromMap(Map<String, dynamic>? map) {
-    if (map == null) return null;
-    return PubMagicMetadata(
-      editedTime: map[pubMagicKeyEditedTime],
-      editedName: map[pubMagicKeyEditedName],
-      caption: map[pubMagicKeyCaption],
-      uploaderName: map[pubMagicKeyUploaderName],
-      w: map[publicMagicKeyWidth],
-      h: map[publicMagicKeyHeight],
-      lat: map[pubMagicKeyLat],
-      long: map[pubMagicKeyLong],
-      mvi: map[pubMotionVideoIndex],
-    );
-  }
-}
-
-class CollectionMagicMetadata {
-  // 0 -> visible
-  // 1 -> archived
-  // 2 -> hidden etc?
-  int visibility;
-
-  // null/0 value -> no subType
-  // 1 -> DEFAULT_HIDDEN COLLECTION for files hidden individually
-  // 2 -> Collections created for sharing selected files
-  int? subType;
-
-  CollectionMagicMetadata({required this.visibility, this.subType});
-
-  Map<String, dynamic> toJson() {
-    final result = {magicKeyVisibility: visibility};
-    if (subType != null) {
-      result[subTypeKey] = subType!;
-    }
-    return result;
-  }
-
-  factory CollectionMagicMetadata.fromEncodedJson(String encodedJson) =>
-      CollectionMagicMetadata.fromJson(jsonDecode(encodedJson));
-
-  factory CollectionMagicMetadata.fromJson(dynamic json) =>
-      CollectionMagicMetadata.fromMap(json);
-
-  static fromMap(Map<String, dynamic>? map) {
-    if (map == null) return null;
-    return CollectionMagicMetadata(
-      visibility: map[magicKeyVisibility] ?? visibilityVisible,
-      subType: map[subTypeKey],
-    );
-  }
-}

+ 1 - 1
lib/services/collections_service.dart

@@ -26,7 +26,7 @@ import 'package:photos/models/collection.dart';
 import 'package:photos/models/collection_file_item.dart';
 import 'package:photos/models/collection_file_item.dart';
 import 'package:photos/models/collection_items.dart';
 import 'package:photos/models/collection_items.dart';
 import 'package:photos/models/file.dart';
 import 'package:photos/models/file.dart';
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/collection_magic.dart";
 import 'package:photos/services/app_lifecycle_service.dart';
 import 'package:photos/services/app_lifecycle_service.dart';
 import 'package:photos/services/file_magic_service.dart';
 import 'package:photos/services/file_magic_service.dart';
 import 'package:photos/services/local_sync_service.dart';
 import 'package:photos/services/local_sync_service.dart';

+ 3 - 2
lib/services/file_magic_service.dart

@@ -13,7 +13,8 @@ import 'package:photos/events/force_reload_home_gallery_event.dart';
 import 'package:photos/events/local_photos_updated_event.dart';
 import 'package:photos/events/local_photos_updated_event.dart';
 import 'package:photos/extensions/list.dart';
 import 'package:photos/extensions/list.dart';
 import 'package:photos/models/file.dart';
 import 'package:photos/models/file.dart';
-import 'package:photos/models/metadata/magic_metadata.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';
 import 'package:photos/services/remote_sync_service.dart';
 import 'package:photos/utils/crypto_util.dart';
 import 'package:photos/utils/crypto_util.dart';
 import 'package:photos/utils/file_download_util.dart';
 import 'package:photos/utils/file_download_util.dart';
@@ -34,7 +35,7 @@ class FileMagicService {
   Future<void> changeVisibility(List<File> files, int visibility) async {
   Future<void> changeVisibility(List<File> files, int visibility) async {
     final Map<String, dynamic> update = {magicKeyVisibility: visibility};
     final Map<String, dynamic> update = {magicKeyVisibility: visibility};
     await _updateMagicData(files, update);
     await _updateMagicData(files, update);
-    if (visibility == visibilityVisible) {
+    if (visibility == visibleVisibility) {
       // Force reload home gallery to pull in the now unarchived files
       // Force reload home gallery to pull in the now unarchived files
       Bus.instance.fire(ForceReloadHomeGalleryEvent("unarchivedFiles"));
       Bus.instance.fire(ForceReloadHomeGalleryEvent("unarchivedFiles"));
       Bus.instance.fire(
       Bus.instance.fire(

+ 2 - 2
lib/services/files_service.dart

@@ -7,7 +7,7 @@ import 'package:photos/db/files_db.dart';
 import 'package:photos/extensions/list.dart';
 import 'package:photos/extensions/list.dart';
 import 'package:photos/models/file.dart';
 import 'package:photos/models/file.dart';
 import "package:photos/models/file_load_result.dart";
 import "package:photos/models/file_load_result.dart";
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/file_magic.dart";
 import 'package:photos/services/file_magic_service.dart';
 import 'package:photos/services/file_magic_service.dart';
 import "package:photos/services/ignored_files_service.dart";
 import "package:photos/services/ignored_files_service.dart";
 import 'package:photos/utils/date_time_util.dart';
 import 'package:photos/utils/date_time_util.dart';
@@ -75,7 +75,7 @@ class FilesService {
       if (timeResult != null) {
       if (timeResult != null) {
         remoteFilesToUpdate.add(remoteFile);
         remoteFilesToUpdate.add(remoteFile);
         fileIDToUpdateMetadata[remoteFile.uploadedFileID!] = {
         fileIDToUpdateMetadata[remoteFile.uploadedFileID!] = {
-          pubMagicKeyEditedTime: timeResult,
+          editTimeKey: timeResult,
         };
         };
       }
       }
     }
     }

+ 3 - 2
lib/services/hidden_service.dart

@@ -10,7 +10,8 @@ import 'package:photos/events/local_photos_updated_event.dart';
 import 'package:photos/models/api/collection/create_request.dart';
 import 'package:photos/models/api/collection/create_request.dart';
 import 'package:photos/models/collection.dart';
 import 'package:photos/models/collection.dart';
 import 'package:photos/models/file.dart';
 import 'package:photos/models/file.dart';
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/collection_magic.dart";
+import "package:photos/models/metadata/common_keys.dart";
 import 'package:photos/services/collections_service.dart';
 import 'package:photos/services/collections_service.dart';
 import 'package:photos/services/file_magic_service.dart';
 import 'package:photos/services/file_magic_service.dart';
 import 'package:photos/utils/crypto_util.dart';
 import 'package:photos/utils/crypto_util.dart';
@@ -120,7 +121,7 @@ extension HiddenService on CollectionsService {
   Future<Collection> _createDefaultHiddenAlbum() async {
   Future<Collection> _createDefaultHiddenAlbum() async {
     final CreateRequest createRequest = await buildCollectionCreateRequest(
     final CreateRequest createRequest = await buildCollectionCreateRequest(
       ".Hidden",
       ".Hidden",
-      visibility: visibilityHidden,
+      visibility: hiddenVisibility,
       subType: subTypeDefaultHidden,
       subType: subTypeDefaultHidden,
     );
     );
     _logger.info("Creating Hidden Collection");
     _logger.info("Creating Hidden Collection");

+ 3 - 2
lib/ui/actions/collection/collection_sharing_actions.dart

@@ -8,7 +8,8 @@ import 'package:photos/models/api/collection/create_request.dart';
 import 'package:photos/models/collection.dart';
 import 'package:photos/models/collection.dart';
 import 'package:photos/models/file.dart';
 import 'package:photos/models/file.dart';
 import 'package:photos/models/files_split.dart';
 import 'package:photos/models/files_split.dart';
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/collection_magic.dart";
+import "package:photos/models/metadata/common_keys.dart";
 import 'package:photos/services/collections_service.dart';
 import 'package:photos/services/collections_service.dart';
 import 'package:photos/services/hidden_service.dart';
 import 'package:photos/services/hidden_service.dart';
 import 'package:photos/services/user_service.dart';
 import 'package:photos/services/user_service.dart';
@@ -120,7 +121,7 @@ class CollectionActions {
       final CreateRequest req =
       final CreateRequest req =
           await collectionsService.buildCollectionCreateRequest(
           await collectionsService.buildCollectionCreateRequest(
         dummyName,
         dummyName,
-        visibility: visibilityVisible,
+        visibility: visibleVisibility,
         subType: subTypeSharedFilesCollection,
         subType: subTypeSharedFilesCollection,
       );
       );
       final collection = await collectionsService.createAndCacheCollection(
       final collection = await collectionsService.createAndCacheCollection(

+ 2 - 2
lib/ui/collections/archived_collections_button_widget.dart

@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
 import 'package:photos/core/configuration.dart';
 import 'package:photos/core/configuration.dart';
 import 'package:photos/db/files_db.dart';
 import 'package:photos/db/files_db.dart';
 import "package:photos/generated/l10n.dart";
 import "package:photos/generated/l10n.dart";
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/common_keys.dart";
 import "package:photos/services/collections_service.dart";
 import "package:photos/services/collections_service.dart";
 import 'package:photos/ui/viewer/gallery/archive_page.dart';
 import 'package:photos/ui/viewer/gallery/archive_page.dart';
 import 'package:photos/utils/navigation_util.dart';
 import 'package:photos/utils/navigation_util.dart';
@@ -48,7 +48,7 @@ class ArchivedCollectionsButtonWidget extends StatelessWidget {
                   const Padding(padding: EdgeInsets.all(6)),
                   const Padding(padding: EdgeInsets.all(6)),
                   FutureBuilder<int>(
                   FutureBuilder<int>(
                     future: FilesDB.instance.archivedFilesCount(
                     future: FilesDB.instance.archivedFilesCount(
-                      visibilityArchive,
+                      archiveVisibility,
                       Configuration.instance.getUserID()!,
                       Configuration.instance.getUserID()!,
                       hiddenCollectionId,
                       hiddenCollectionId,
                     ),
                     ),

+ 3 - 3
lib/ui/viewer/actions/file_selection_actions_widget.dart

@@ -8,7 +8,7 @@ import 'package:photos/models/device_collection.dart';
 import 'package:photos/models/file.dart';
 import 'package:photos/models/file.dart';
 import 'package:photos/models/files_split.dart';
 import 'package:photos/models/files_split.dart';
 import 'package:photos/models/gallery_type.dart';
 import 'package:photos/models/gallery_type.dart';
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/common_keys.dart";
 import 'package:photos/models/selected_files.dart';
 import 'package:photos/models/selected_files.dart';
 import 'package:photos/services/collections_service.dart';
 import 'package:photos/services/collections_service.dart';
 import 'package:photos/services/hidden_service.dart';
 import 'package:photos/services/hidden_service.dart';
@@ -349,7 +349,7 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
     await changeVisibility(
     await changeVisibility(
       context,
       context,
       split.ownedByCurrentUser,
       split.ownedByCurrentUser,
-      visibilityArchive,
+      archiveVisibility,
     );
     );
     widget.selectedFiles.clearAll();
     widget.selectedFiles.clearAll();
   }
   }
@@ -358,7 +358,7 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
     await changeVisibility(
     await changeVisibility(
       context,
       context,
       split.ownedByCurrentUser,
       split.ownedByCurrentUser,
-      visibilityVisible,
+      visibleVisibility,
     );
     );
     widget.selectedFiles.clearAll();
     widget.selectedFiles.clearAll();
   }
   }

+ 2 - 2
lib/ui/viewer/actions/file_selection_overlay_bar.dart

@@ -3,7 +3,7 @@ import "package:photos/generated/l10n.dart";
 import 'package:photos/models/collection.dart';
 import 'package:photos/models/collection.dart';
 import 'package:photos/models/device_collection.dart';
 import 'package:photos/models/device_collection.dart';
 import 'package:photos/models/gallery_type.dart';
 import 'package:photos/models/gallery_type.dart';
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/common_keys.dart";
 import 'package:photos/models/selected_files.dart';
 import 'package:photos/models/selected_files.dart';
 import 'package:photos/theme/ente_theme.dart';
 import 'package:photos/theme/ente_theme.dart';
 import 'package:photos/ui/collection_action_sheet.dart';
 import 'package:photos/ui/collection_action_sheet.dart';
@@ -161,7 +161,7 @@ class _FileSelectionOverlayBarState extends State<FileSelectionOverlayBar> {
     await changeVisibility(
     await changeVisibility(
       context,
       context,
       widget.selectedFiles.files.toList(),
       widget.selectedFiles.files.toList(),
-      visibilityVisible,
+      visibleVisibility,
     );
     );
     widget.selectedFiles.clearAll();
     widget.selectedFiles.clearAll();
   }
   }

+ 4 - 4
lib/ui/viewer/file/fading_app_bar.dart

@@ -14,7 +14,7 @@ import "package:photos/generated/l10n.dart";
 import 'package:photos/models/file.dart';
 import 'package:photos/models/file.dart';
 import 'package:photos/models/file_type.dart';
 import 'package:photos/models/file_type.dart';
 import 'package:photos/models/ignored_file.dart';
 import 'package:photos/models/ignored_file.dart';
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/common_keys.dart";
 import 'package:photos/models/selected_files.dart';
 import 'package:photos/models/selected_files.dart';
 import 'package:photos/models/trash_file.dart';
 import 'package:photos/models/trash_file.dart';
 import 'package:photos/services/collections_service.dart';
 import 'package:photos/services/collections_service.dart';
@@ -156,7 +156,7 @@ class FadingAppBarState extends State<FadingAppBar> {
           // options for files owned by the user
           // options for files owned by the user
           if (isOwnedByUser && !isFileHidden) {
           if (isOwnedByUser && !isFileHidden) {
             final bool isArchived =
             final bool isArchived =
-                widget.file.magicMetadata.visibility == visibilityArchive;
+                widget.file.magicMetadata.visibility == archiveVisibility;
             items.add(
             items.add(
               PopupMenuItem(
               PopupMenuItem(
                 value: 2,
                 value: 2,
@@ -290,11 +290,11 @@ class FadingAppBarState extends State<FadingAppBar> {
 
 
   Future<void> _toggleFileArchiveStatus(File file) async {
   Future<void> _toggleFileArchiveStatus(File file) async {
     final bool isArchived =
     final bool isArchived =
-        widget.file.magicMetadata.visibility == visibilityArchive;
+        widget.file.magicMetadata.visibility == archiveVisibility;
     await changeVisibility(
     await changeVisibility(
       context,
       context,
       [widget.file],
       [widget.file],
-      isArchived ? visibilityVisible : visibilityArchive,
+      isArchived ? visibleVisibility : archiveVisibility,
     );
     );
     if (mounted) {
     if (mounted) {
       setState(() {});
       setState(() {});

+ 3 - 3
lib/ui/viewer/file/file_details_widget.dart

@@ -5,7 +5,7 @@ import "package:photos/core/configuration.dart";
 import "package:photos/generated/l10n.dart";
 import "package:photos/generated/l10n.dart";
 import "package:photos/models/file.dart";
 import "package:photos/models/file.dart";
 import "package:photos/models/file_type.dart";
 import "package:photos/models/file_type.dart";
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/file_magic.dart";
 import "package:photos/services/file_magic_service.dart";
 import "package:photos/services/file_magic_service.dart";
 import "package:photos/services/update_service.dart";
 import "package:photos/services/update_service.dart";
 import 'package:photos/theme/ente_theme.dart';
 import 'package:photos/theme/ente_theme.dart';
@@ -255,8 +255,8 @@ class _FileDetailsWidgetState extends State<FileDetailsWidget> {
         await FileMagicService.instance.updatePublicMagicMetadata([
         await FileMagicService.instance.updatePublicMagicMetadata([
           widget.file
           widget.file
         ], {
         ], {
-          pubMagicKeyLat: locationDataFromExif!.latitude,
-          pubMagicKeyLong: locationDataFromExif.longitude
+          latKey: locationDataFromExif!.latitude,
+          longKey: locationDataFromExif.longitude
         });
         });
         hasLocationData.value = true;
         hasLocationData.value = true;
       }
       }

+ 3 - 3
lib/ui/viewer/file/zoomable_image.dart

@@ -13,7 +13,7 @@ import 'package:photos/db/files_db.dart';
 import 'package:photos/events/files_updated_event.dart';
 import 'package:photos/events/files_updated_event.dart';
 import 'package:photos/events/local_photos_updated_event.dart';
 import 'package:photos/events/local_photos_updated_event.dart';
 import 'package:photos/models/file.dart';
 import 'package:photos/models/file.dart';
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/file_magic.dart";
 import "package:photos/services/file_magic_service.dart";
 import "package:photos/services/file_magic_service.dart";
 import 'package:photos/ui/common/loading_widget.dart';
 import 'package:photos/ui/common/loading_widget.dart';
 import 'package:photos/utils/file_util.dart';
 import 'package:photos/utils/file_util.dart';
@@ -282,8 +282,8 @@ class _ZoomableImageState extends State<ZoomableImage>
         await FileMagicService.instance.updatePublicMagicMetadata([
         await FileMagicService.instance.updatePublicMagicMetadata([
           widget.photo
           widget.photo
         ], {
         ], {
-          publicMagicKeyHeight: h,
-          publicMagicKeyWidth: w,
+          heightKey: h,
+          widthKey: w,
         });
         });
       }
       }
     }
     }

+ 2 - 2
lib/ui/viewer/file/zoomable_live_image.dart

@@ -10,7 +10,7 @@ import 'package:photos/core/constants.dart';
 import "package:photos/generated/l10n.dart";
 import "package:photos/generated/l10n.dart";
 import 'package:photos/models/file.dart';
 import 'package:photos/models/file.dart';
 import "package:photos/models/file_type.dart";
 import "package:photos/models/file_type.dart";
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/file_magic.dart";
 import "package:photos/services/file_magic_service.dart";
 import "package:photos/services/file_magic_service.dart";
 import 'package:photos/ui/viewer/file/zoomable_image.dart';
 import 'package:photos/ui/viewer/file/zoomable_image.dart';
 import 'package:photos/utils/file_util.dart';
 import 'package:photos/utils/file_util.dart';
@@ -184,7 +184,7 @@ class _ZoomableLiveImageState extends State<ZoomableLiveImage>
             (widget.file.ownerID ?? 0) == Configuration.instance.getUserID()!) {
             (widget.file.ownerID ?? 0) == Configuration.instance.getUserID()!) {
           FileMagicService.instance.updatePublicMagicMetadata(
           FileMagicService.instance.updatePublicMagicMetadata(
             [widget.file],
             [widget.file],
-            {pubMotionVideoIndex: index.start},
+            {motionVideoIndexKey: index.start},
           ).ignore();
           ).ignore();
         }
         }
         return motionPhoto.getMotionVideoFile(
         return motionPhoto.getMotionVideoFile(

+ 2 - 2
lib/ui/viewer/gallery/archive_page.dart

@@ -6,7 +6,7 @@ import 'package:photos/db/files_db.dart';
 import 'package:photos/events/files_updated_event.dart';
 import 'package:photos/events/files_updated_event.dart';
 import "package:photos/generated/l10n.dart";
 import "package:photos/generated/l10n.dart";
 import 'package:photos/models/gallery_type.dart';
 import 'package:photos/models/gallery_type.dart';
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/common_keys.dart";
 import 'package:photos/models/selected_files.dart';
 import 'package:photos/models/selected_files.dart';
 import 'package:photos/services/collections_service.dart';
 import 'package:photos/services/collections_service.dart';
 import "package:photos/ui/components/album_horizontal_list_widget.dart";
 import "package:photos/ui/components/album_horizontal_list_widget.dart";
@@ -38,7 +38,7 @@ class ArchivePage extends StatelessWidget {
           creationStartTime,
           creationStartTime,
           creationEndTime,
           creationEndTime,
           Configuration.instance.getUserID()!,
           Configuration.instance.getUserID()!,
-          visibility: visibilityArchive,
+          visibility: archiveVisibility,
           limit: limit,
           limit: limit,
           asc: asc,
           asc: asc,
           ignoredCollectionIDs: hiddenCollectionIDs,
           ignoredCollectionIDs: hiddenCollectionIDs,

+ 3 - 3
lib/ui/viewer/gallery/gallery_app_bar_widget.dart

@@ -12,7 +12,7 @@ import 'package:photos/models/backup_status.dart';
 import 'package:photos/models/collection.dart';
 import 'package:photos/models/collection.dart';
 import 'package:photos/models/device_collection.dart';
 import 'package:photos/models/device_collection.dart';
 import 'package:photos/models/gallery_type.dart';
 import 'package:photos/models/gallery_type.dart';
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/common_keys.dart";
 import 'package:photos/models/selected_files.dart';
 import 'package:photos/models/selected_files.dart';
 import 'package:photos/services/collections_service.dart';
 import 'package:photos/services/collections_service.dart';
 import 'package:photos/services/sync_service.dart';
 import 'package:photos/services/sync_service.dart';
@@ -366,8 +366,8 @@ class _GalleryAppBarWidgetState extends State<GalleryAppBarWidget> {
                 context,
                 context,
                 widget.collection!,
                 widget.collection!,
                 widget.collection!.isArchived()
                 widget.collection!.isArchived()
-                    ? visibilityVisible
-                    : visibilityArchive,
+                    ? visibleVisibility
+                    : archiveVisibility,
               );
               );
             } else if (value == 3) {
             } else if (value == 3) {
               await _trashCollection();
               await _trashCollection();

+ 1 - 1
lib/utils/diff_fetcher.dart

@@ -5,7 +5,7 @@ import 'package:logging/logging.dart';
 import 'package:photos/core/network/network.dart';
 import 'package:photos/core/network/network.dart';
 import 'package:photos/db/files_db.dart';
 import 'package:photos/db/files_db.dart';
 import 'package:photos/models/file.dart';
 import 'package:photos/models/file.dart';
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/file_magic.dart";
 import 'package:photos/utils/crypto_util.dart';
 import 'package:photos/utils/crypto_util.dart';
 import 'package:photos/utils/file_download_util.dart';
 import 'package:photos/utils/file_download_util.dart';
 
 

+ 5 - 4
lib/utils/file_uploader.dart

@@ -23,7 +23,8 @@ import 'package:photos/main.dart';
 import 'package:photos/models/encryption_result.dart';
 import 'package:photos/models/encryption_result.dart';
 import 'package:photos/models/file.dart';
 import 'package:photos/models/file.dart';
 import 'package:photos/models/file_type.dart';
 import 'package:photos/models/file_type.dart';
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/file_magic.dart";
+
 import 'package:photos/models/upload_url.dart';
 import 'package:photos/models/upload_url.dart';
 import 'package:photos/services/collections_service.dart';
 import 'package:photos/services/collections_service.dart';
 import "package:photos/services/file_magic_service.dart";
 import "package:photos/services/file_magic_service.dart";
@@ -462,11 +463,11 @@ class FileUploader {
         if ((mediaUploadData.height ?? 0) != 0 &&
         if ((mediaUploadData.height ?? 0) != 0 &&
             (mediaUploadData.width ?? 0) != 0) {
             (mediaUploadData.width ?? 0) != 0) {
           final pubMetadata = {
           final pubMetadata = {
-            publicMagicKeyHeight: mediaUploadData.height,
-            publicMagicKeyWidth: mediaUploadData.width
+            heightKey: mediaUploadData.height,
+            widthKey: mediaUploadData.width
           };
           };
           if (mediaUploadData.motionPhotoStartIndex != null) {
           if (mediaUploadData.motionPhotoStartIndex != null) {
-            pubMetadata[pubMotionVideoIndex] =
+            pubMetadata[motionVideoIndexKey] =
                 mediaUploadData.motionPhotoStartIndex;
                 mediaUploadData.motionPhotoStartIndex;
           }
           }
           pubMetadataRequest = await getPubMetadataRequest(
           pubMetadataRequest = await getPubMetadataRequest(

+ 1 - 1
lib/utils/file_uploader_util.dart

@@ -17,7 +17,7 @@ import 'package:photos/core/errors.dart';
 import 'package:photos/models/file.dart' as ente;
 import 'package:photos/models/file.dart' as ente;
 import 'package:photos/models/file_type.dart';
 import 'package:photos/models/file_type.dart';
 import "package:photos/models/location/location.dart";
 import "package:photos/models/location/location.dart";
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/file_magic.dart";
 import "package:photos/services/file_magic_service.dart";
 import "package:photos/services/file_magic_service.dart";
 import 'package:photos/utils/crypto_util.dart';
 import 'package:photos/utils/crypto_util.dart';
 import 'package:photos/utils/file_util.dart';
 import 'package:photos/utils/file_util.dart';

+ 10 - 9
lib/utils/magic_util.dart

@@ -6,7 +6,8 @@ import 'package:photos/events/force_reload_home_gallery_event.dart';
 import "package:photos/generated/l10n.dart";
 import "package:photos/generated/l10n.dart";
 import 'package:photos/models/collection.dart';
 import 'package:photos/models/collection.dart';
 import 'package:photos/models/file.dart';
 import 'package:photos/models/file.dart';
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/common_keys.dart";
+import "package:photos/models/metadata/file_magic.dart";
 import 'package:photos/services/collections_service.dart';
 import 'package:photos/services/collections_service.dart';
 import 'package:photos/services/file_magic_service.dart';
 import 'package:photos/services/file_magic_service.dart';
 import 'package:photos/ui/common/progress_dialog.dart';
 import 'package:photos/ui/common/progress_dialog.dart';
@@ -22,7 +23,7 @@ Future<void> changeVisibility(
 ) async {
 ) async {
   final dialog = createProgressDialog(
   final dialog = createProgressDialog(
     context,
     context,
-    newVisibility == visibilityArchive
+    newVisibility == archiveVisibility
         ? S.of(context).archiving
         ? S.of(context).archiving
         : S.of(context).unarchiving,
         : S.of(context).unarchiving,
   );
   );
@@ -31,7 +32,7 @@ Future<void> changeVisibility(
     await FileMagicService.instance.changeVisibility(files, newVisibility);
     await FileMagicService.instance.changeVisibility(files, newVisibility);
     showShortToast(
     showShortToast(
       context,
       context,
-      newVisibility == visibilityArchive
+      newVisibility == archiveVisibility
           ? S.of(context).successfullyArchived
           ? S.of(context).successfullyArchived
           : S.of(context).successfullyUnarchived,
           : S.of(context).successfullyUnarchived,
     );
     );
@@ -51,7 +52,7 @@ Future<void> changeCollectionVisibility(
 ) async {
 ) async {
   final dialog = createProgressDialog(
   final dialog = createProgressDialog(
     context,
     context,
-    newVisibility == visibilityArchive
+    newVisibility == archiveVisibility
         ? S.of(context).archiving
         ? S.of(context).archiving
         : S.of(context).unarchiving,
         : S.of(context).unarchiving,
   );
   );
@@ -63,7 +64,7 @@ Future<void> changeCollectionVisibility(
     Bus.instance.fire(ForceReloadHomeGalleryEvent("CollectionArchiveChange"));
     Bus.instance.fire(ForceReloadHomeGalleryEvent("CollectionArchiveChange"));
     showShortToast(
     showShortToast(
       context,
       context,
-      newVisibility == visibilityArchive
+      newVisibility == archiveVisibility
           ? S.of(context).successfullyArchived
           ? S.of(context).successfullyArchived
           : S.of(context).successfullyUnarchived,
           : S.of(context).successfullyUnarchived,
     );
     );
@@ -85,7 +86,7 @@ Future<bool> editTime(
     await _updatePublicMetadata(
     await _updatePublicMetadata(
       context,
       context,
       files,
       files,
-      pubMagicKeyEditedTime,
+      editTimeKey,
       editedTime,
       editedTime,
     );
     );
     return true;
     return true;
@@ -120,7 +121,7 @@ Future<void> editFilename(
       await _updatePublicMetadata(
       await _updatePublicMetadata(
         context,
         context,
         List.of([file]),
         List.of([file]),
-        pubMagicKeyEditedName,
+        editNameKey,
         newName,
         newName,
         showProgressDialogs: false,
         showProgressDialogs: false,
         showDoneToast: false,
         showDoneToast: false,
@@ -142,7 +143,7 @@ Future<bool> editFileCaption(
     await _updatePublicMetadata(
     await _updatePublicMetadata(
       context,
       context,
       [file],
       [file],
-      pubMagicKeyCaption,
+      captionKey,
       caption,
       caption,
       showDoneToast: false,
       showDoneToast: false,
     );
     );
@@ -194,5 +195,5 @@ Future<void> _updatePublicMetadata(
 }
 }
 
 
 bool _shouldReloadGallery(String key) {
 bool _shouldReloadGallery(String key) {
-  return key == pubMagicKeyEditedTime;
+  return key == editTimeKey;
 }
 }

+ 2 - 1
lib/utils/trash_diff_fetcher.dart

@@ -3,7 +3,8 @@ import 'dart:math';
 
 
 import 'package:logging/logging.dart';
 import 'package:logging/logging.dart';
 import 'package:photos/core/network/network.dart';
 import 'package:photos/core/network/network.dart';
-import 'package:photos/models/metadata/magic_metadata.dart';
+import "package:photos/models/metadata/file_magic.dart";
+
 import 'package:photos/models/trash_file.dart';
 import 'package:photos/models/trash_file.dart';
 import 'package:photos/utils/crypto_util.dart';
 import 'package:photos/utils/crypto_util.dart';
 import 'package:photos/utils/file_download_util.dart';
 import 'package:photos/utils/file_download_util.dart';