From aa7a0568175572f329c2e4898adf29aa53e5c0da Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 21 Jan 2019 09:44:55 +0000 Subject: [PATCH] Track references --- app/src/main/java/eu/faircode/email/DaoMessage.java | 6 ++++++ app/src/main/java/eu/faircode/email/EntityOperation.java | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/DaoMessage.java b/app/src/main/java/eu/faircode/email/DaoMessage.java index 420bea4287..ef5c29dad2 100644 --- a/app/src/main/java/eu/faircode/email/DaoMessage.java +++ b/app/src/main/java/eu/faircode/email/DaoMessage.java @@ -347,6 +347,12 @@ public interface DaoMessage { " WHERE id = :id") int setMessageSnoozed(long id, Long wakeup); + @Query("UPDATE message SET replying = :newid WHERE replying = :oldid") + int updateMessageReplying(long oldid, long newid); + + @Query("UPDATE message SET forwarding = :newid WHERE forwarding = :oldid") + int updateMessageForwarding(long oldid, long newid); + @Query("DELETE FROM message WHERE id = :id") int deleteMessage(long id); diff --git a/app/src/main/java/eu/faircode/email/EntityOperation.java b/app/src/main/java/eu/faircode/email/EntityOperation.java index 6617c46aa2..7caed618de 100644 --- a/app/src/main/java/eu/faircode/email/EntityOperation.java +++ b/app/src/main/java/eu/faircode/email/EntityOperation.java @@ -174,6 +174,10 @@ public class EntityOperation { message.uid = uid; message.folder = source.id; + // Track reference + db.message().updateMessageReplying(id, newid); + db.message().updateMessageForwarding(id, newid); + if (message.content) try { Helper.copy(