mirror of https://github.com/M66B/FairEmail.git
Added POP cleanup
This commit is contained in:
parent
3a32fa8a62
commit
4dbdd1cdfa
|
@ -3197,6 +3197,14 @@ class Core {
|
|||
}
|
||||
}
|
||||
|
||||
if (account.max_messages != null) {
|
||||
int hidden = db.message().setMessagesUiHide(folder.id, account.max_messages);
|
||||
int deleted = db.message().deleteMessagesKeep(folder.id, account.max_messages + 100);
|
||||
EntityLog.log(context, account.name + " POP" +
|
||||
" cleanup max=" + account.max_messages + "" +
|
||||
" hidden=" + hidden + " deleted=" + deleted);
|
||||
}
|
||||
|
||||
folder.last_sync_count = imessages.length;
|
||||
db.folder().setFolderLastSyncCount(folder.id, folder.last_sync_count);
|
||||
db.folder().setFolderLastSync(folder.id, new Date().getTime());
|
||||
|
|
|
@ -756,6 +756,16 @@ public interface DaoMessage {
|
|||
@Query("UPDATE message SET ui_hide = :ui_hide WHERE id = :id AND NOT (ui_hide IS :ui_hide)")
|
||||
int setMessageUiHide(long id, Boolean ui_hide);
|
||||
|
||||
@Transaction
|
||||
@Query("UPDATE message SET ui_hide = 1" +
|
||||
" WHERE folder = :folder" +
|
||||
" AND id NOT IN (" +
|
||||
" SELECT id FROM message" +
|
||||
" WHERE folder = :folder" +
|
||||
" ORDER BY received DESC" +
|
||||
" LIMIT :keep)")
|
||||
int setMessagesUiHide(long folder, int keep);
|
||||
|
||||
@Query("UPDATE message SET ui_ignored = :ui_ignored WHERE id = :id AND NOT (ui_ignored IS :ui_ignored)")
|
||||
int setMessageUiIgnored(long id, boolean ui_ignored);
|
||||
|
||||
|
@ -964,4 +974,14 @@ public interface DaoMessage {
|
|||
" AND stored < :sync_time" + // moved, browsed
|
||||
" AND ui_snoozed IS NULL")
|
||||
int deleteMessagesBefore(long folder, long sync_time, long keep_time, boolean unseen);
|
||||
|
||||
@Transaction
|
||||
@Query("DELETE FROM message" +
|
||||
" WHERE folder = :folder" +
|
||||
" AND id NOT IN (" +
|
||||
" SELECT id FROM message" +
|
||||
" WHERE folder = :folder" +
|
||||
" ORDER BY received DESC" +
|
||||
" LIMIT :keep)")
|
||||
int deleteMessagesKeep(long folder, int keep);
|
||||
}
|
Loading…
Reference in New Issue