diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index 7b5feafe69..219bf44810 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -2480,9 +2480,12 @@ public class FragmentCompose extends FragmentBase { if (draft.account != aid && aid >= 0) { Log.i("Account changed"); - // To prevent violating constraints Long uid = draft.uid; String msgid = draft.msgid; + boolean content = draft.content; + long ui_hide = draft.ui_hide; + + // To prevent violating constraints draft.uid = null; draft.msgid = null; db.message().updateMessage(draft); @@ -2494,7 +2497,7 @@ public class FragmentCompose extends FragmentBase { draft.content = false; draft.ui_hide = new Date().getTime(); draft.id = db.message().insertMessage(draft); - EntityOperation.queue(context, draft, EntityOperation.DELETE); // by msgid + EntityOperation.queue(context, draft, EntityOperation.DELETE); // Restore original with new account, no uid and new msgid draft.id = id; @@ -2502,10 +2505,12 @@ public class FragmentCompose extends FragmentBase { draft.folder = db.folder().getFolderByType(aid, EntityFolder.DRAFTS).id; draft.uid = null; draft.msgid = EntityMessage.generateMessageId(); - draft.content = true; - draft.ui_hide = 0L; + draft.content = content; + draft.ui_hide = ui_hide; db.message().updateMessage(draft); - EntityOperation.queue(context, draft, EntityOperation.ADD); + + if (content) + EntityOperation.queue(context, draft, EntityOperation.ADD); } List attachments = db.attachment().getAttachments(draft.id);