From 535b08f795a3a34cbe59b76b93a655f1ea04e1ee Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 26 Apr 2022 14:15:01 +0200 Subject: [PATCH] Fixed revisions race condition --- app/src/main/java/eu/faircode/email/Core.java | 6 ++++++ app/src/main/java/eu/faircode/email/FragmentCompose.java | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index fb77e4190b..87e31904a4 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -4409,6 +4409,12 @@ class Core { try { db.beginTransaction(); + EntityMessage existing = db.message().getMessage(message.id); + if (existing != null) { + message.revision = existing.revision; + message.revisions = existing.revisions; + } + db.message().updateMessage(message); if (process) diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index e6f57ff0bc..3128dc5db4 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -6298,7 +6298,7 @@ public class FragmentCompose extends FragmentBase { bottom_navigation.getMenu().findItem(R.id.action_redo).setVisible(draft.revision < draft.revisions); if (args.getBundle("extras").getBoolean("silent")) { - etBody.setTag(etBody.getText()); + etBody.setTag(null); return; }