Added auto trash

pull/157/head
M66B 5 years ago
parent f1393e5793
commit f31dc74c3d

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

@ -209,8 +209,15 @@ public class FragmentFolder extends FragmentBase {
cbKeepAll.setChecked(true); cbKeepAll.setChecked(true);
else else
etKeepDays.setText(Integer.toString(folder == null ? EntityFolder.DEFAULT_KEEP : folder.keep_days)); 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 // Consider previous save as cancelled

@ -379,7 +379,8 @@
<string name="title_sync_days_remark">Increasing this value will increase battery and data usage</string> <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_days">Keep messages (days)</string>
<string name="title_keep_all">Keep all messages</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_name_missing">Folder name missing</string>
<string name="title_folder_exists">Folder %1$s exists</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> <string name="title_folder_delete">Permanently delete this folder and any messages it contains?</string>

Loading…
Cancel
Save