1
0
Fork 0
mirror of https://github.com/M66B/FairEmail.git synced 2025-02-21 21:57:19 +00:00

Prevent cleanup of message headers / EML files

This commit is contained in:
M66B 2021-07-25 09:05:04 +02:00
parent d49ef3d8fa
commit 9801a4527a

View file

@ -92,6 +92,8 @@ public class WorkerCleanup extends Worker {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean fts = prefs.getBoolean("fts", true); boolean fts = prefs.getBoolean("fts", true);
boolean cleanup_attachments = prefs.getBoolean("cleanup_attachments", false); boolean cleanup_attachments = prefs.getBoolean("cleanup_attachments", false);
boolean download_headers = prefs.getBoolean("download_headers", false);
boolean download_eml = prefs.getBoolean("download_eml", false);
long start = new Date().getTime(); long start = new Date().getTime();
DB db = DB.getInstance(context); DB db = DB.getInstance(context);
@ -133,8 +135,10 @@ public class WorkerCleanup extends Worker {
Log.i("Attachments purged=" + purged); Log.i("Attachments purged=" + purged);
// Clear raw headers // Clear raw headers
int headers = db.message().clearMessageHeaders(); if (!download_headers) {
Log.i("Cleared message headers=" + headers); int headers = db.message().clearMessageHeaders();
Log.i("Cleared message headers=" + headers);
}
} }
// Restore alarms // Restore alarms
@ -225,19 +229,21 @@ public class WorkerCleanup extends Worker {
} }
// Cleanup message files // Cleanup message files
Log.i("Cleanup raw message files"); if (!download_eml) {
File[] raws = new File(context.getFilesDir(), "raw").listFiles(); Log.i("Cleanup raw message files");
if (raws != null) File[] raws = new File(context.getFilesDir(), "raw").listFiles();
for (File file : raws) if (raws != null)
if (manual || file.lastModified() + KEEP_FILES_DURATION < now) { for (File file : raws)
long id = Long.parseLong(file.getName().split("\\.")[0]); if (manual || file.lastModified() + KEEP_FILES_DURATION < now) {
EntityMessage message = db.message().getMessage(id); long id = Long.parseLong(file.getName().split("\\.")[0]);
if (message == null || message.raw == null || !message.raw) { EntityMessage message = db.message().getMessage(id);
Log.i("Deleting " + file); if (message == null || message.raw == null || !message.raw) {
if (!file.delete()) Log.i("Deleting " + file);
Log.w("Error deleting " + file); if (!file.delete())
Log.w("Error deleting " + file);
}
} }
} }
// Cleanup attachment files // Cleanup attachment files
Log.i("Cleanup attachment files"); Log.i("Cleanup attachment files");