Added auto trash

This commit is contained in:
M66B 2019-07-08 09:19:16 +02:00
parent f1393e5793
commit f31dc74c3d
3 changed files with 18 additions and 6 deletions

View File

@ -1001,13 +1001,17 @@ class Core {
Log.i(folder.name + " sync=" + new Date(sync_time) + " keep=" + new Date(keep_time));
// Delete old local messages
if (auto_delete && EntityFolder.TRASH.equals(folder.type)) {
if (auto_delete) {
List<Long> tbds = db.message().getMessagesBefore(folder.id, keep_time, delete_unseen);
Log.i(folder.name + " local tbd=" + tbds.size());
EntityFolder trash = db.folder().getFolderByType(folder.account, EntityFolder.TRASH);
for (Long tbd : tbds) {
EntityMessage message = db.message().getMessage(tbd);
if (message != null)
EntityOperation.queue(context, message, EntityOperation.DELETE);
if (message != null && trash != null)
if (EntityFolder.TRASH.equals(folder.type))
EntityOperation.queue(context, message, EntityOperation.DELETE);
else
EntityOperation.queue(context, message, EntityOperation.MOVE, trash.id);
}
} else {
int old = db.message().deleteMessagesBefore(folder.id, keep_time, delete_unseen);

View File

@ -209,8 +209,15 @@ public class FragmentFolder extends FragmentBase {
cbKeepAll.setChecked(true);
else
etKeepDays.setText(Integer.toString(folder == null ? EntityFolder.DEFAULT_KEEP : folder.keep_days));
cbAutoDelete.setChecked(folder == null ? false : folder.auto_delete);
cbAutoDelete.setVisibility(folder != null && EntityFolder.TRASH.equals(folder.type) ? View.VISIBLE : View.GONE);
if (folder == null || folder.read_only)
cbAutoDelete.setVisibility(View.GONE);
else {
cbAutoDelete.setText(EntityFolder.TRASH.equals(folder.type)
? R.string.title_auto_delete : R.string.title_auto_trash);
cbAutoDelete.setChecked(folder.auto_delete);
cbAutoDelete.setVisibility(View.VISIBLE);
}
}
// Consider previous save as cancelled

View File

@ -379,7 +379,8 @@
<string name="title_sync_days_remark">Increasing this value will increase battery and data usage</string>
<string name="title_keep_days">Keep messages (days)</string>
<string name="title_keep_all">Keep all messages</string>
<string name="title_auto_delete">Automatically delete old messages</string>
<string name="title_auto_trash">Automatically move old messages to trash</string>
<string name="title_auto_delete">Automatically permanently delete old messages</string>
<string name="title_folder_name_missing">Folder name missing</string>
<string name="title_folder_exists">Folder %1$s exists</string>
<string name="title_folder_delete">Permanently delete this folder and any messages it contains?</string>