From bdfb324441c65a9cad039913be35ef59782ea5c6 Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 6 Oct 2022 14:07:18 +0200 Subject: [PATCH] Fixed cleanup external drafts --- .../eu/faircode/email/EntityAttachment.java | 19 +++++++++++-------- .../java/eu/faircode/email/WorkerCleanup.java | 2 +- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/EntityAttachment.java b/app/src/main/java/eu/faircode/email/EntityAttachment.java index 56d9a35095..d7fcf0b999 100644 --- a/app/src/main/java/eu/faircode/email/EntityAttachment.java +++ b/app/src/main/java/eu/faircode/email/EntityAttachment.java @@ -150,14 +150,7 @@ public class EntityAttachment { } static File getFile(Context context, long id, String name) { - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - boolean external_storage = prefs.getBoolean("external_storage", false); - - File root = (external_storage - ? context.getExternalFilesDir(null) - : context.getFilesDir()); - - File dir = new File(root, "attachments"); + File dir = new File(getRoot(context), "attachments"); if (!dir.exists()) dir.mkdir(); String filename = Long.toString(id); @@ -168,6 +161,16 @@ public class EntityAttachment { return new File(dir, filename); } + static File getRoot(Context context) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + boolean external_storage = prefs.getBoolean("external_storage", false); + + File root = (external_storage + ? context.getExternalFilesDir(null) + : context.getFilesDir()); + return root; + } + static void copy(Context context, long oldid, long newid) { DB db = DB.getInstance(context); diff --git a/app/src/main/java/eu/faircode/email/WorkerCleanup.java b/app/src/main/java/eu/faircode/email/WorkerCleanup.java index b27750461a..6c3ded5d2c 100644 --- a/app/src/main/java/eu/faircode/email/WorkerCleanup.java +++ b/app/src/main/java/eu/faircode/email/WorkerCleanup.java @@ -277,7 +277,7 @@ public class WorkerCleanup extends Worker { // Cleanup attachment files Log.i("Cleanup attachment files"); - File[] attachments = new File(context.getFilesDir(), "attachments").listFiles(); + File[] attachments = new File(EntityAttachment.getRoot(context), "attachments").listFiles(); if (attachments != null) for (File file : attachments) if (manual || file.lastModified() + KEEP_FILES_DURATION < now)