mirror of
https://github.com/M66B/FairEmail.git
synced 2025-02-24 15:11:03 +00:00
User is not reading messages
This commit is contained in:
parent
e1ac4d49a5
commit
04908ca4bb
2 changed files with 14 additions and 3 deletions
|
@ -3826,6 +3826,13 @@ class Core {
|
||||||
cal_keep.set(Calendar.SECOND, 0);
|
cal_keep.set(Calendar.SECOND, 0);
|
||||||
cal_keep.set(Calendar.MILLISECOND, 0);
|
cal_keep.set(Calendar.MILLISECOND, 0);
|
||||||
|
|
||||||
|
Calendar cal_keep_unseen = Calendar.getInstance();
|
||||||
|
cal_keep_unseen.add(Calendar.DAY_OF_MONTH, -keep_days * 2);
|
||||||
|
cal_keep_unseen.set(Calendar.HOUR_OF_DAY, 0);
|
||||||
|
cal_keep_unseen.set(Calendar.MINUTE, 0);
|
||||||
|
cal_keep_unseen.set(Calendar.SECOND, 0);
|
||||||
|
cal_keep_unseen.set(Calendar.MILLISECOND, 0);
|
||||||
|
|
||||||
long sync_time = cal_sync.getTimeInMillis();
|
long sync_time = cal_sync.getTimeInMillis();
|
||||||
if (sync_time < 0)
|
if (sync_time < 0)
|
||||||
sync_time = 0;
|
sync_time = 0;
|
||||||
|
@ -3834,6 +3841,10 @@ class Core {
|
||||||
if (keep_time < 0)
|
if (keep_time < 0)
|
||||||
keep_time = 0;
|
keep_time = 0;
|
||||||
|
|
||||||
|
long keep_time_unseen = cal_keep_unseen.getTimeInMillis();
|
||||||
|
if (keep_time_unseen < 0)
|
||||||
|
keep_time_unseen = 0;
|
||||||
|
|
||||||
Log.i(folder.name + " sync=" + new Date(sync_time) + " keep=" + new Date(keep_time));
|
Log.i(folder.name + " sync=" + new Date(sync_time) + " keep=" + new Date(keep_time));
|
||||||
|
|
||||||
// Delete old local messages
|
// Delete old local messages
|
||||||
|
@ -3852,7 +3863,7 @@ class Core {
|
||||||
EntityOperation.queue(context, message, EntityOperation.MOVE, trash.id);
|
EntityOperation.queue(context, message, EntityOperation.MOVE, trash.id);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
int old = db.message().deleteMessagesBefore(folder.id, delete_time, keep_time, delete_unseen);
|
int old = db.message().deleteMessagesBefore(folder.id, delete_time, keep_time, keep_time_unseen, delete_unseen);
|
||||||
Log.i(folder.name + " local old=" + old);
|
Log.i(folder.name + " local old=" + old);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1016,11 +1016,11 @@ public interface DaoMessage {
|
||||||
" WHERE folder = :folder" +
|
" WHERE folder = :folder" +
|
||||||
" AND received < :keep_time" +
|
" AND received < :keep_time" +
|
||||||
" AND NOT uid IS NULL" +
|
" AND NOT uid IS NULL" +
|
||||||
" AND (ui_seen OR :unseen)" +
|
" AND (ui_seen OR received < :keep_time_unseen OR :unseen)" +
|
||||||
" AND NOT ui_flagged" +
|
" AND NOT ui_flagged" +
|
||||||
" AND stored < :sync_time" + // moved, browsed
|
" AND stored < :sync_time" + // moved, browsed
|
||||||
" AND (ui_snoozed IS NULL OR ui_snoozed = " + Long.MAX_VALUE + ")")
|
" AND (ui_snoozed IS NULL OR ui_snoozed = " + Long.MAX_VALUE + ")")
|
||||||
int deleteMessagesBefore(long folder, long sync_time, long keep_time, boolean unseen);
|
int deleteMessagesBefore(long folder, long sync_time, long keep_time, long keep_time_unseen, boolean unseen);
|
||||||
|
|
||||||
@Transaction
|
@Transaction
|
||||||
@Query("DELETE FROM message" +
|
@Query("DELETE FROM message" +
|
||||||
|
|
Loading…
Reference in a new issue