Remove files that have been deleted from the upload queue
This commit is contained in:
parent
4eed676a2a
commit
1a75f9e9f8
|
@ -7,6 +7,7 @@ import 'package:photos/core/errors.dart';
|
|||
import 'package:photos/core/event_bus.dart';
|
||||
import 'package:photos/db/files_db.dart';
|
||||
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/file.dart';
|
||||
import 'package:photos/models/file_type.dart';
|
||||
|
@ -228,7 +229,8 @@ class _ThumbnailWidgetState extends State<ThumbnailWidget> {
|
|||
if (await doesLocalFileExist(widget.file) == false) {
|
||||
_logger.info("Deleting file " + widget.file.tag());
|
||||
FilesDB.instance.deleteLocalFile(widget.file);
|
||||
Bus.instance.fire(LocalPhotosUpdatedEvent([widget.file]));
|
||||
Bus.instance.fire(LocalPhotosUpdatedEvent([widget.file],
|
||||
type: EventType.deletedFromDevice));
|
||||
}
|
||||
}
|
||||
return;
|
||||
|
|
|
@ -7,6 +7,7 @@ import 'package:photos/core/cache/thumbnail_cache.dart';
|
|||
import 'package:photos/core/constants.dart';
|
||||
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/ui/loading_widget.dart';
|
||||
|
@ -150,7 +151,8 @@ class _ZoomableImageState extends State<ZoomableImage>
|
|||
_loadNetworkImage();
|
||||
} else {
|
||||
FilesDB.instance.deleteLocalFile(_photo);
|
||||
Bus.instance.fire(LocalPhotosUpdatedEvent([_photo]));
|
||||
Bus.instance.fire(LocalPhotosUpdatedEvent([_photo],
|
||||
type: EventType.deletedFromDevice));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -16,6 +16,7 @@ import 'package:photos/core/event_bus.dart';
|
|||
import 'package:photos/core/network.dart';
|
||||
import 'package:photos/db/files_db.dart';
|
||||
import 'package:photos/db/upload_locks_db.dart';
|
||||
import 'package:photos/events/files_updated_event.dart';
|
||||
import 'package:photos/events/local_photos_updated_event.dart';
|
||||
import 'package:photos/events/subscription_purchased_event.dart';
|
||||
import 'package:photos/main.dart';
|
||||
|
@ -81,6 +82,19 @@ class FileUploader {
|
|||
}
|
||||
_pollBackgroundUploadStatus();
|
||||
}
|
||||
Bus.instance.on<LocalPhotosUpdatedEvent>().listen((event) {
|
||||
if (event.type == EventType.deletedFromDevice ||
|
||||
event.type == EventType.deletedFromEverywhere) {
|
||||
removeFromQueueWhere((file) {
|
||||
for (final updatedFile in event.updatedFiles) {
|
||||
if (file.generatedID == updatedFile.generatedID) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}, InvalidFileError("File already deleted"));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Future<File> upload(File file, int collectionID) {
|
||||
|
|
Loading…
Reference in a new issue