From 6d525fb77b93c52d1c757a8462f43cf774858849 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 11 Aug 2018 20:59:28 +0000 Subject: [PATCH] Fixed saving draft attachments --- .../java/eu/faircode/email/FragmentCompose.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index 8636618967..f0b2dbc74e 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -734,10 +734,16 @@ public class FragmentCompose extends FragmentEx { } else if (action == R.id.action_save) { String msgid = draft.msgid; + // Save attachments + List attachments = db.attachment().getAttachments(draft.id); + for (EntityAttachment attachment : attachments) + attachment.content = db.attachment().getContent(attachment.id); + // Delete previous draft draft.msgid = null; draft.ui_hide = true; db.message().updateMessage(draft); + EntityOperation.queue(db, draft, EntityOperation.DELETE); // Create new draft @@ -746,6 +752,13 @@ public class FragmentCompose extends FragmentEx { draft.msgid = msgid; draft.ui_hide = false; draft.id = db.message().insertMessage(draft); + + // Restore attachments + for (EntityAttachment attachment : attachments) { + attachment.message = draft.id; + db.attachment().insertAttachment(attachment); + } + EntityOperation.queue(db, draft, EntityOperation.ADD); } else if (action == R.id.action_send) {