Use dummy generatedID for trashed files
This commit is contained in:
parent
2cf7699198
commit
517a7b2a20
|
@ -183,6 +183,7 @@ class TrashDB {
|
|||
trashFile.deleteBy = row[columnTrashDeleteBy];
|
||||
trashFile.uploadedFileID =
|
||||
row[columnUploadedFileID] == -1 ? null : row[columnUploadedFileID];
|
||||
trashFile.generatedID = -1 * trashFile.uploadedFileID;
|
||||
trashFile.localID = row[columnLocalID];
|
||||
trashFile.ownerID = row[columnOwnerID];
|
||||
trashFile.collectionID =
|
||||
|
|
|
@ -180,6 +180,7 @@ class FadingBottomBarState extends State<FadingBottomBar> {
|
|||
icon: Icon(Icons.restore_outlined),
|
||||
onPressed: () {
|
||||
showToast("coming soon");
|
||||
Navigator.pop(context);
|
||||
},
|
||||
),
|
||||
),
|
||||
|
@ -197,6 +198,7 @@ class FadingBottomBarState extends State<FadingBottomBar> {
|
|||
final trashedFile = <TrashFile>[];
|
||||
trashedFile.add(widget.file);
|
||||
await deleteFromTrash(context, trashedFile);
|
||||
Navigator.pop(context);
|
||||
},
|
||||
),
|
||||
),
|
||||
|
|
|
@ -8,6 +8,7 @@ import 'package:photos/db/files_db.dart';
|
|||
import 'package:photos/events/local_photos_updated_event.dart';
|
||||
import 'package:photos/models/file.dart';
|
||||
import 'package:photos/models/file_type.dart';
|
||||
import 'package:photos/models/trash_file.dart';
|
||||
import 'package:photos/ui/common_elements.dart';
|
||||
import 'package:photos/utils/file_util.dart';
|
||||
import 'package:photos/utils/thumbnail_util.dart';
|
||||
|
@ -197,10 +198,12 @@ class _ThumbnailWidgetState extends State<ThumbnailWidget> {
|
|||
Future _getThumbnailFromDisk() async {
|
||||
getThumbnailFromLocal(widget.file).then((thumbData) async {
|
||||
if (thumbData == null) {
|
||||
if (widget.file.uploadedFileID != null) {
|
||||
_logger.fine("Removing localID reference for " + widget.file.tag());
|
||||
widget.file.localID = null;
|
||||
FilesDB.instance.update(widget.file);
|
||||
if (widget.file.uploadedFileID != null ) {
|
||||
if (widget.file is! TrashFile) {
|
||||
_logger.fine("Removing localID reference for " + widget.file.tag());
|
||||
widget.file.localID = null;
|
||||
FilesDB.instance.update(widget.file);
|
||||
}
|
||||
_loadNetworkImage();
|
||||
} else {
|
||||
if (await doesLocalFileExist(widget.file) == false) {
|
||||
|
|
|
@ -30,8 +30,22 @@ class TrashPage extends StatelessWidget {
|
|||
creationStartTime, creationEndTime,
|
||||
limit: limit, asc: asc);
|
||||
},
|
||||
reloadEvent: Bus.instance.on<CollectionUpdatedEvent>(),
|
||||
forceReloadEvents: [Bus.instance.on<CollectionUpdatedEvent>()],
|
||||
reloadEvent: Bus.instance.on<FilesUpdatedEvent>().where(
|
||||
(event) =>
|
||||
event.updatedFiles.firstWhere(
|
||||
(element) => element.uploadedFileID != null,
|
||||
orElse: () => null) !=
|
||||
null,
|
||||
),
|
||||
forceReloadEvents: [
|
||||
Bus.instance.on<FilesUpdatedEvent>().where(
|
||||
(event) =>
|
||||
event.updatedFiles.firstWhere(
|
||||
(element) => element.uploadedFileID != null,
|
||||
orElse: () => null) !=
|
||||
null,
|
||||
),
|
||||
],
|
||||
tagPrefix: tagPrefix,
|
||||
selectedFiles: _selectedFiles,
|
||||
initialFiles: null,
|
||||
|
|
|
@ -209,8 +209,8 @@ Future<void> deleteFromTrash(
|
|||
await dialog.show();
|
||||
try {
|
||||
await TrashSyncService.instance.deleteFromTrash(files);
|
||||
await dialog.hide();
|
||||
showToast("successfully deleted");
|
||||
await dialog.hide();
|
||||
Bus.instance.fire(FilesUpdatedEvent(files, type: EventType.deleted));
|
||||
} catch (e, s) {
|
||||
Logger("TrashUtil").info("failed to delete from trash", e, s);
|
||||
|
|
Loading…
Reference in a new issue