diff --git a/app/src/main/java/eu/faircode/email/AdapterFolder.java b/app/src/main/java/eu/faircode/email/AdapterFolder.java index 5a7c2d27..f5975dfa 100644 --- a/app/src/main/java/eu/faircode/email/AdapterFolder.java +++ b/app/src/main/java/eu/faircode/email/AdapterFolder.java @@ -166,10 +166,10 @@ public class AdapterFolder extends RecyclerView.Adapter() { @Override protected Void onLoad(Context context, Bundle args) { long id = args.getLong("id"); - DB.getInstance(context).message().deleteMessages(id); + boolean outbox = args.getBoolean("outbox"); + Log.i(Helper.TAG, "Delete local messages outbox=" + outbox); + if (outbox) + DB.getInstance(context).message().deleteSeenMessages(id); + else + DB.getInstance(context).message().deleteMessages(id); return null; } diff --git a/app/src/main/java/eu/faircode/email/DaoMessage.java b/app/src/main/java/eu/faircode/email/DaoMessage.java index 34116989..8b6c7e5a 100644 --- a/app/src/main/java/eu/faircode/email/DaoMessage.java +++ b/app/src/main/java/eu/faircode/email/DaoMessage.java @@ -192,6 +192,9 @@ public interface DaoMessage { @Query("DELETE FROM message WHERE folder = :folder") int deleteMessages(long folder); + @Query("DELETE FROM message WHERE folder = :folder AND seen") + int deleteSeenMessages(long folder); + @Query("DELETE FROM message WHERE folder = :folder AND received < :received AND NOT uid IS NULL") int deleteMessagesBefore(long folder, long received);