From dd61347b95272e6fb2bc3e0ff018fcf2a4e05900 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 9 Jan 2019 18:45:53 +0000 Subject: [PATCH] Draft from template --- FAQ.md | 1 + .../java/eu/faircode/email/AdapterAnswer.java | 47 ++++++++++++++++++- .../eu/faircode/email/FragmentAnswers.java | 2 +- .../eu/faircode/email/FragmentCompose.java | 7 +++ 4 files changed, 54 insertions(+), 3 deletions(-) diff --git a/FAQ.md b/FAQ.md index 889c50fa18..924fbf8318 100644 --- a/FAQ.md +++ b/FAQ.md @@ -950,6 +950,7 @@ but even Google's Chrome cannot handle this. * Did you know there is an advanced option to mark messages read when they are moved and that archiving and trashing is also moving? * Did you know that you can select text (or an email address) in any app on recent Android versions and let FairEmail search for it? You'll need to set a primary account and an archive folder for this to work, so FairEmail knows where to search. There will be 'FairEmail' in the menu with copy, cut, etc. * Did you know that FairEmail has a tablet mode? Rotate your device in landscape mode and conversation threads will be opened in a second column if there is enough screen space. +* Did you know that you can long press a reply template to create a draft message from the template?
diff --git a/app/src/main/java/eu/faircode/email/AdapterAnswer.java b/app/src/main/java/eu/faircode/email/AdapterAnswer.java index fc8a5cade3..3f5612c2b6 100644 --- a/app/src/main/java/eu/faircode/email/AdapterAnswer.java +++ b/app/src/main/java/eu/faircode/email/AdapterAnswer.java @@ -21,6 +21,7 @@ package eu.faircode.email; import android.content.Context; import android.content.Intent; +import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -34,6 +35,7 @@ import java.util.List; import java.util.Locale; import androidx.annotation.NonNull; +import androidx.lifecycle.LifecycleOwner; import androidx.localbroadcastmanager.content.LocalBroadcastManager; import androidx.recyclerview.widget.DiffUtil; import androidx.recyclerview.widget.ListUpdateCallback; @@ -41,12 +43,15 @@ import androidx.recyclerview.widget.RecyclerView; public class AdapterAnswer extends RecyclerView.Adapter { private Context context; + private LifecycleOwner owner; private LayoutInflater inflater; private List all = new ArrayList<>(); private List filtered = new ArrayList<>(); - public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { + private EntityAccount primary = null; + + public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener { View itemView; TextView tvName; @@ -59,10 +64,12 @@ public class AdapterAnswer extends RecyclerView.Adapter() { + @Override + protected EntityAccount onExecute(Context context, Bundle args) { + return DB.getInstance(context).account().getPrimaryAccount(); + } + + @Override + protected void onExecuted(Bundle args, EntityAccount account) { + primary = account; + } + + @Override + protected void onException(Bundle args, Throwable ex) { + Helper.unexpectedError(AdapterAnswer.this.context, AdapterAnswer.this.owner, ex); + } + }.execute(context, owner, new Bundle(), "answer:account:primary"); } public void set(@NonNull List answers) { diff --git a/app/src/main/java/eu/faircode/email/FragmentAnswers.java b/app/src/main/java/eu/faircode/email/FragmentAnswers.java index 2a84052ed0..d10df52745 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAnswers.java +++ b/app/src/main/java/eu/faircode/email/FragmentAnswers.java @@ -63,7 +63,7 @@ public class FragmentAnswers extends FragmentEx { LinearLayoutManager llm = new LinearLayoutManager(getContext()); rvAnswer.setLayoutManager(llm); - adapter = new AdapterAnswer(getContext()); + adapter = new AdapterAnswer(getContext(), getViewLifecycleOwner()); rvAnswer.setAdapter(adapter); fab.setOnClickListener(new View.OnClickListener() { diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index 6c6f40154a..a715988295 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -1520,6 +1520,13 @@ public class FragmentCompose extends FragmentEx { result.draft.subject = args.getString("subject", ""); body = args.getString("body", ""); body = body.replaceAll("\\r?\\n", "
"); + + if (answer > 0) { + String text = db.answer().getAnswer(answer).text; + text = text.replace("$name$", ""); + text = text.replace("$email$", ""); + body = text + body; + } } else { result.draft.thread = ref.thread;