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(