Use tag instead of generatedID
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ class FileAppBarState extends State<FileAppBar> {
|
||||
@override
|
||||
void didUpdateWidget(FileAppBar oldWidget) {
|
||||
super.didUpdateWidget(oldWidget);
|
||||
if (oldWidget.file.generatedID != widget.file.generatedID) {
|
||||
if (oldWidget.file.tag != widget.file.tag) {
|
||||
_getActions();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -194,7 +194,7 @@ class _FileCaptionWidgetState extends State<FileCaptionWidget> {
|
||||
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);
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -98,7 +98,7 @@ class _ThumbnailWidgetState extends State<ThumbnailWidget> {
|
||||
@override
|
||||
void didUpdateWidget(ThumbnailWidget oldWidget) {
|
||||
super.didUpdateWidget(oldWidget);
|
||||
if (widget.file.generatedID != oldWidget.file.generatedID) {
|
||||
if (widget.file.tag != oldWidget.file.tag) {
|
||||
_reset();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ class _VideoWidgetMediaKitState extends State<VideoWidgetMediaKit>
|
||||
@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<VideoWidgetMediaKit>
|
||||
|
||||
_captionUpdatedSubscription =
|
||||
Bus.instance.on<FileCaptionUpdatedEvent>().listen((event) {
|
||||
if (event.fileGeneratedID == widget.file.generatedID) {
|
||||
if (event.fileTag == widget.file.tag) {
|
||||
if (mounted) {
|
||||
setState(() {});
|
||||
}
|
||||
|
||||
@@ -127,7 +127,7 @@ class _VideoWidgetNativeState extends State<VideoWidgetNative>
|
||||
|
||||
_captionUpdatedSubscription =
|
||||
Bus.instance.on<FileCaptionUpdatedEvent>().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<VideoWidgetNative>
|
||||
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<VideoWidgetNative>
|
||||
) 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<VideoWidgetNative>
|
||||
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<VideoWidgetNative>
|
||||
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());
|
||||
|
||||
@@ -84,7 +84,7 @@ class _ZoomableImageState extends State<ZoomableImage> {
|
||||
|
||||
_captionUpdatedSubscription =
|
||||
Bus.instance.on<FileCaptionUpdatedEvent>().listen((event) {
|
||||
if (event.fileGeneratedID == _photo.generatedID) {
|
||||
if (event.fileTag == _photo.tag) {
|
||||
if (mounted) {
|
||||
setState(() {});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user