From 6c1e62be652bbc7b52629cb3dfe962d072999f77 Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 14 Mar 2022 18:26:12 +0100 Subject: [PATCH] Added support for placeholders in snippets --- FAQ.md | 2 -- .../java/eu/faircode/email/EditTextCompose.java | 15 ++++++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/FAQ.md b/FAQ.md index 8085304567..ec02af8efe 100644 --- a/FAQ.md +++ b/FAQ.md @@ -4633,8 +4633,6 @@ Templates can have the following options: * *Snippet*: template will be used as text fragment (since version 1.1857) * *Hide from menus*: template will be hidden (disabled) -Note that placeholders will not be filled in when using snippets. -

Get support

diff --git a/app/src/main/java/eu/faircode/email/EditTextCompose.java b/app/src/main/java/eu/faircode/email/EditTextCompose.java index b34ce28758..64d387a0a8 100644 --- a/app/src/main/java/eu/faircode/email/EditTextCompose.java +++ b/app/src/main/java/eu/faircode/email/EditTextCompose.java @@ -45,6 +45,7 @@ import android.view.MenuItem; import android.view.View; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputConnection; +import android.widget.EditText; import android.widget.Toast; import androidx.core.view.inputmethod.EditorInfoCompat; @@ -58,6 +59,9 @@ import org.jsoup.nodes.Document; import java.util.List; import java.util.concurrent.ExecutorService; +import javax.mail.internet.AddressException; +import javax.mail.internet.InternetAddress; + public class EditTextCompose extends FixedEditText { private boolean raw = false; private ISelection selectionListener = null; @@ -215,9 +219,18 @@ public class EditTextCompose extends FixedEditText { if (snippets == null) return false; + InternetAddress[] to = null; + try { + View root = getRootView(); + EditText etTo = (root == null ? null : root.findViewById(R.id.etTo)); + if (etTo != null) + to = MessageHelper.parseAddresses(getContext(), etTo.getText().toString()); + } catch (AddressException ignored) { + } + for (EntityAnswer snippet : snippets) if (snippet.id.equals(id)) { - String html = snippet.getHtml(null); + String html = snippet.getHtml(to); executor.submit(new Runnable() { @Override