Keep sent messages in user folders

This commit is contained in:
M66B 2021-05-10 17:51:54 +02:00
parent 902213e935
commit a859c1562b
3 changed files with 4 additions and 2 deletions

View File

@ -2973,7 +2973,7 @@ class Core {
// Delete not synchronized messages without uid
if (!EntityFolder.isOutgoing(folder.type)) {
int orphans = db.message().deleteOrphans(folder.id);
int orphans = db.message().deleteOrphans(folder.id, new Date().getTime());
Log.i(folder.name + " deleted orphans=" + orphans);
}

View File

@ -821,6 +821,7 @@ public interface DaoMessage {
@Query("DELETE FROM message" +
" WHERE folder = :folder" +
" AND uid IS NULL" +
" AND (ui_busy IS NULL OR ui_busy < :now)" +
" AND NOT EXISTS" +
" (SELECT * FROM operation" +
" WHERE operation.message = message.id" +
@ -831,7 +832,7 @@ public interface DaoMessage {
" WHERE o.account = message.account" +
" AND o.name = '" + EntityOperation.MOVE + "'" +
" AND m.msgid = message.msgid)")
int deleteOrphans(long folder);
int deleteOrphans(long folder, long now);
@Query("SELECT * FROM message" +
" WHERE folder = :folder" +

View File

@ -594,6 +594,7 @@ public class ServiceSend extends ServiceBase implements SharedPreferences.OnShar
message.seen = true;
message.ui_seen = true;
message.ui_hide = true;
message.ui_busy = Long.MAX_VALUE; // Needed to keep messages in user folders
message.error = null;
message.id = db.message().insertMessage(message);