From d895475a5252df00a6e32c07d798af9a29972c4b Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 16 Aug 2023 07:42:39 +0200 Subject: [PATCH] Added menu items to enable/disable downloads for child folders --- .../java/eu/faircode/email/AdapterFolder.java | 44 +++++++++++++++++++ app/src/main/res/values/strings.xml | 2 + 2 files changed, 46 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/AdapterFolder.java b/app/src/main/java/eu/faircode/email/AdapterFolder.java index 20fb340d84..56d0db1066 100644 --- a/app/src/main/java/eu/faircode/email/AdapterFolder.java +++ b/app/src/main/java/eu/faircode/email/AdapterFolder.java @@ -681,6 +681,8 @@ public class AdapterFolder extends RecyclerView.Adapter() { + @Override + protected Void onExecute(Context context, Bundle args) throws Throwable { + long id = args.getLong("id"); + boolean enabled = args.getBoolean("enabled"); + + DB db = DB.getInstance(context); + try { + db.beginTransaction(); + List children = db.folder().getChildFolders(id); + if (children == null) + return null; + + for (EntityFolder child : children) + db.folder().setFolderDownload(child.id, enabled); + + db.setTransactionSuccessful(); + } finally { + db.endTransaction(); + } + + return null; + } + + @Override + protected void onException(Bundle args, Throwable ex) { + Log.unexpectedError(parentFragment.getParentFragmentManager(), ex); + } + }.execute(context, owner, args, "children:download"); + } + private void onActionProperty(int property, boolean enabled) { Bundle args = new Bundle(); args.putLong("id", folder.id); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 556be12069..bff91796c9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1251,6 +1251,8 @@ Disable synchronization Enable new message notifications Disable new message notifications + Download texts and attachments + Download headers only Delete local messages Delete browsed/searched messages Expunge