diff --git a/mobile/lib/events/file_caption_updated_event.dart b/mobile/lib/events/file_caption_updated_event.dart index 2862e3704f..726f337681 100644 --- a/mobile/lib/events/file_caption_updated_event.dart +++ b/mobile/lib/events/file_caption_updated_event.dart @@ -1,7 +1,7 @@ import "package:photos/events/event.dart"; class FileCaptionUpdatedEvent extends Event { - final int fileGeneratedID; + final String fileTag; - FileCaptionUpdatedEvent(this.fileGeneratedID); + FileCaptionUpdatedEvent(this.fileTag); } diff --git a/mobile/lib/models/file/file.dart b/mobile/lib/models/file/file.dart index 34b0bdc5dc..e061b488b7 100644 --- a/mobile/lib/models/file/file.dart +++ b/mobile/lib/models/file/file.dart @@ -2,7 +2,6 @@ import 'dart:io'; import 'package:flutter/foundation.dart'; import 'package:logging/logging.dart'; -import 'package:path/path.dart'; import 'package:photo_manager/photo_manager.dart'; import 'package:photos/core/constants.dart'; import "package:photos/models/api/diff/trash_time.dart"; diff --git a/mobile/lib/services/memories_cache_service.dart b/mobile/lib/services/memories_cache_service.dart index 913f9c146c..a178486c02 100644 --- a/mobile/lib/services/memories_cache_service.dart +++ b/mobile/lib/services/memories_cache_service.dart @@ -71,13 +71,9 @@ class MemoriesCacheService { return event.type == EventType.deletedFromEverywhere; }).listen((event) { if (_cachedMemories == null) return; - final generatedIDs = event.updatedFiles - .where((element) => element.generatedID != null) - .map((e) => e.generatedID!) - .toSet(); + final tags = event.updatedFiles.map((e) => e.tag).toSet(); for (final memory in _cachedMemories!) { - memory.memories - .removeWhere((m) => generatedIDs.contains(m.file.generatedID)); + memory.memories.removeWhere((m) => tags.contains(m.file.tag)); } }); } diff --git a/mobile/lib/ui/viewer/file/file_app_bar.dart b/mobile/lib/ui/viewer/file/file_app_bar.dart index 23e6374fbc..ad7c3b116d 100644 --- a/mobile/lib/ui/viewer/file/file_app_bar.dart +++ b/mobile/lib/ui/viewer/file/file_app_bar.dart @@ -59,7 +59,7 @@ class FileAppBarState extends State { @override void didUpdateWidget(FileAppBar oldWidget) { super.didUpdateWidget(oldWidget); - if (oldWidget.file.generatedID != widget.file.generatedID) { + if (oldWidget.file.tag != widget.file.tag) { _getActions(); } } diff --git a/mobile/lib/ui/viewer/file/file_caption_widget.dart b/mobile/lib/ui/viewer/file/file_caption_widget.dart index 3f5606122d..114e6dab2f 100644 --- a/mobile/lib/ui/viewer/file/file_caption_widget.dart +++ b/mobile/lib/ui/viewer/file/file_caption_widget.dart @@ -194,7 +194,7 @@ class _FileCaptionWidgetState extends State { bool _onEditFileFinish(bool isSuccess) { if (isSuccess) { widget.file.pubMagicMetadata?.caption = editedCaption; - Bus.instance.fire(FileCaptionUpdatedEvent(widget.file.generatedID!)); + Bus.instance.fire(FileCaptionUpdatedEvent(widget.file.tag)); return true; } else { showShortToast(context, S.of(context).somethingWentWrong); diff --git a/mobile/lib/ui/viewer/file/file_widget.dart b/mobile/lib/ui/viewer/file/file_widget.dart index a38f576c37..89cc369777 100644 --- a/mobile/lib/ui/viewer/file/file_widget.dart +++ b/mobile/lib/ui/viewer/file/file_widget.dart @@ -28,8 +28,7 @@ class FileWidget extends StatelessWidget { // Specify key to ensure that the widget is rebuilt when the file changes // Before changing this, ensure that file deletes are handled properly - final String fileKey = - "file_genID_${file.generatedID}___file_id_${file.uploadedFileID}"; + final String fileKey = "file_tag_${file.tag}"; if (file.fileType == FileType.livePhoto || file.fileType == FileType.image) { return ZoomableLiveImageNew( diff --git a/mobile/lib/ui/viewer/file/thumbnail_widget.dart b/mobile/lib/ui/viewer/file/thumbnail_widget.dart index e24800a9b5..c4a497d687 100644 --- a/mobile/lib/ui/viewer/file/thumbnail_widget.dart +++ b/mobile/lib/ui/viewer/file/thumbnail_widget.dart @@ -98,7 +98,7 @@ class _ThumbnailWidgetState extends State { @override void didUpdateWidget(ThumbnailWidget oldWidget) { super.didUpdateWidget(oldWidget); - if (widget.file.generatedID != oldWidget.file.generatedID) { + if (widget.file.tag != oldWidget.file.tag) { _reset(); } } diff --git a/mobile/lib/ui/viewer/file/video_widget_media_kit.dart b/mobile/lib/ui/viewer/file/video_widget_media_kit.dart index c925a628e0..e51fe67057 100644 --- a/mobile/lib/ui/viewer/file/video_widget_media_kit.dart +++ b/mobile/lib/ui/viewer/file/video_widget_media_kit.dart @@ -73,7 +73,7 @@ class _VideoWidgetMediaKitState extends State @override void initState() { _logger.info( - 'initState for ${widget.file.generatedID} with tag ${widget.file.tag} and name ${widget.file.displayName}', + 'initState for tag ${widget.file.tag} and name ${widget.file.displayName}', ); super.initState(); WidgetsBinding.instance.addObserver(this); @@ -118,7 +118,7 @@ class _VideoWidgetMediaKitState extends State _captionUpdatedSubscription = Bus.instance.on().listen((event) { - if (event.fileGeneratedID == widget.file.generatedID) { + if (event.fileTag == widget.file.tag) { if (mounted) { setState(() {}); } diff --git a/mobile/lib/ui/viewer/file/video_widget_native.dart b/mobile/lib/ui/viewer/file/video_widget_native.dart index 7608ffac70..2e56fe743c 100644 --- a/mobile/lib/ui/viewer/file/video_widget_native.dart +++ b/mobile/lib/ui/viewer/file/video_widget_native.dart @@ -127,7 +127,7 @@ class _VideoWidgetNativeState extends State _captionUpdatedSubscription = Bus.instance.on().listen((event) { - if (event.fileGeneratedID == widget.file.generatedID) { + if (event.fileTag == widget.file.tag) { if (mounted) { setState(() {}); } @@ -262,7 +262,7 @@ class _VideoWidgetNativeState extends State return Hero( tag: widget.tagPrefix! + widget.file.tag, child: VisibilityDetector( - key: Key(widget.file.generatedID.toString()), + key: Key(widget.file.tag.toString()), onVisibilityChanged: (info) { if (info.visibleFraction == 1) { setState(() { @@ -427,7 +427,7 @@ class _VideoWidgetNativeState extends State ) async { try { _logger.info( - "Initializing native video player controller for file gen id: ${widget.file.generatedID}", + "Initializing native video player controller for file tag: ${widget.file.tag}", ); _controller = controller; @@ -438,7 +438,7 @@ class _VideoWidgetNativeState extends State await setVideoSource(); } catch (e) { _logger.severe( - "Error initializing native video player controller for file gen id: ${widget.file.generatedID}", + "Error initializing native video player controller for file tag: ${widget.file.tag}", e, ); } @@ -519,7 +519,7 @@ class _VideoWidgetNativeState extends State void _onError(String errorMessage) { //This doesn't work all the time _logger.severe( - "Error in native video player controller for file gen id: ${widget.file.generatedID}", + "Error in native video player controller for file tag: ${widget.file.tag}", ); _logger.severe(errorMessage); Bus.instance.fire(UseMediaKitForVideo()); diff --git a/mobile/lib/ui/viewer/file/zoomable_image.dart b/mobile/lib/ui/viewer/file/zoomable_image.dart index 10bb600c7d..e037f8497c 100644 --- a/mobile/lib/ui/viewer/file/zoomable_image.dart +++ b/mobile/lib/ui/viewer/file/zoomable_image.dart @@ -84,7 +84,7 @@ class _ZoomableImageState extends State { _captionUpdatedSubscription = Bus.instance.on().listen((event) { - if (event.fileGeneratedID == _photo.generatedID) { + if (event.fileTag == _photo.tag) { if (mounted) { setState(() {}); }