diff --git a/app/src/main/java/eu/faircode/email/AdapterFolder.java b/app/src/main/java/eu/faircode/email/AdapterFolder.java index 7d6d18f0b0..824437abdf 100644 --- a/app/src/main/java/eu/faircode/email/AdapterFolder.java +++ b/app/src/main/java/eu/faircode/email/AdapterFolder.java @@ -675,6 +675,8 @@ public class AdapterFolder extends RecyclerView.Adapter() { + @Override + protected Void onExecute(Context context, Bundle args) throws Throwable { + long id = args.getLong("id"); + boolean add = args.getBoolean("add"); + + DB db = DB.getInstance(context); + try { + db.beginTransaction(); + List childs = db.folder().getChildFolders(id); + if (childs == null) + return null; + + for (EntityFolder child : childs) + db.folder().setFolderUnified(child.id, add); + + db.setTransactionSuccessful(); + } finally { + db.endTransaction(); + } + + return null; + } + + @Override + protected void onException(Bundle args, Throwable ex) { + Log.unexpectedError(parentFragment.getParentFragmentManager(), ex); + } + }.execute(context, owner, args, "unified"); + } + private void onActionEnableNavigationMenu(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 39c49c373b..0b9972ec01 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1280,6 +1280,8 @@ Show in unified inbox Show in navigation menu Hide in navigation menu + Add to unified inbox + Delete from unified inbox Synchronize (receive messages) Check periodically instead of continuous synchronize Most email servers allow push messages for a handful of folders only!