diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index 9c3531ae00..43b78ca36c 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -3430,8 +3430,8 @@ class Core { } if (account.max_messages != null && !account.leave_on_device) { - int hidden = db.message().setMessagesUiHide(folder.id, Math.abs(account.max_messages) + flagged); - int deleted = db.message().deleteMessagesKeep(folder.id, Math.abs(account.max_messages) + flagged + 100); + int hidden = db.message().setMessagesUiHide(folder.id, Math.abs(account.max_messages) + flagged, reversed); + int deleted = db.message().deleteMessagesKeep(folder.id, Math.abs(account.max_messages) + flagged + 100, reversed); EntityLog.log(context, account.name + " POP" + " cleanup max=" + account.max_messages + "" + " hidden=" + hidden + " deleted=" + deleted); diff --git a/app/src/main/java/eu/faircode/email/DaoMessage.java b/app/src/main/java/eu/faircode/email/DaoMessage.java index f56fba03f7..f59c6ff36c 100644 --- a/app/src/main/java/eu/faircode/email/DaoMessage.java +++ b/app/src/main/java/eu/faircode/email/DaoMessage.java @@ -792,9 +792,9 @@ public interface DaoMessage { " AND id NOT IN (" + " SELECT id FROM message" + " WHERE folder = :folder" + - " ORDER BY received DESC" + + " ORDER BY CASE WHEN :reversed THEN -received ELSE received END DESC" + " LIMIT :keep)") - int setMessagesUiHide(long folder, int keep); + int setMessagesUiHide(long folder, int keep, boolean reversed); @Transaction @Query("UPDATE message SET ui_ignored = :ui_ignored WHERE id = :id AND NOT (ui_ignored IS :ui_ignored)") @@ -1018,7 +1018,7 @@ public interface DaoMessage { " AND id NOT IN (" + " SELECT id FROM message" + " WHERE folder = :folder" + - " ORDER BY received DESC" + + " ORDER BY CASE WHEN :reversed THEN -received ELSE received END DESC" + " LIMIT :keep)") - int deleteMessagesKeep(long folder, int keep); + int deleteMessagesKeep(long folder, int keep, boolean reversed); } \ No newline at end of file