diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 5f57a45d61..ddfc18f807 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -6041,6 +6041,9 @@ public class AdapterMessage extends RecyclerView.Adapter() { + @Override + protected Void onExecute(Context context, Bundle args) throws Throwable { + long id = args.getLong("id"); + + DB db = DB.getInstance(context); + EntityMessage message = db.message().getMessage(id); + if (message == null) + return null; + + SharedPreferences.Editor editor = prefs.edit(); + + List attachments = db.attachment().getAttachments(id); + if (attachments != null) + for (EntityAttachment attachment : attachments) { + String ext = Helper.getExtension(attachment.name); + if (ext == null) + continue; + editor.remove(ext.toLowerCase(Locale.ROOT) + ".confirm_files"); + } + + if (message.content) { + Document d = JsoupEx.parse(message.getFile(context)); + for (Element a : d.select("a")) { + String href = a.attr("href"); + if (TextUtils.isEmpty(href)) + continue; + + Uri uri = Uri.parse(href); + if (uri == null || !UriHelper.isHyperLink(uri)) + continue; + + String host = uri.getHost(); + if (TextUtils.isEmpty(host)) + continue; + + editor.remove(host + ".confirm_link"); + } + } + + editor.apply(); + + return null; + } + + @Override + protected void onExecuted(Bundle args, Void data) { + ToastEx.makeText(context, R.string.title_completed, Toast.LENGTH_LONG).show(); + } + + @Override + protected void onException(Bundle args, Throwable ex) { + Log.unexpectedError(parentFragment.getParentFragmentManager(), ex); + } + }.execute(context, owner, args, "reset"); + } + private void onMenuResync(TupleMessageEx message) { Bundle args = new Bundle(); args.putLong("id", message.id); diff --git a/app/src/main/res/menu/popup_message_more.xml b/app/src/main/res/menu/popup_message_more.xml index 75c14d5d7a..ce98245174 100644 --- a/app/src/main/res/menu/popup_message_more.xml +++ b/app/src/main/res/menu/popup_message_more.xml @@ -160,6 +160,11 @@ android:icon="@drawable/baseline_mail_more_24" android:title="@string/title_thread_info" /> + + Encrypt Decrypt Thread info + Reset link questions Resync Encoding Automatic