diff --git a/app/src/main/java/eu/faircode/email/DaoAttachment.java b/app/src/main/java/eu/faircode/email/DaoAttachment.java index 770d888811..8f6516ab69 100644 --- a/app/src/main/java/eu/faircode/email/DaoAttachment.java +++ b/app/src/main/java/eu/faircode/email/DaoAttachment.java @@ -103,4 +103,8 @@ public interface DaoAttachment { @Query("DELETE FROM attachment" + " WHERE id = :id") int deleteAttachment(long id); + + @Query("DELETE FROM attachment" + + " WHERE message = :message") + int deleteAttachments(long message); } diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 1890e35fe0..3dd61f45d5 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -4039,9 +4039,8 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. String html = parts.getHtml(context); Helper.writeText(message.getFile(context), html); - // Remove attachments - for (EntityAttachment local : attachments) - db.attachment().deleteAttachment(local.id); + // Remove existing attachments + db.attachment().deleteAttachments(id); // Add decrypted attachments List remotes = parts.getAttachments();