diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index bbb6ad14c4..a69c9da7e1 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -1866,6 +1866,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB args.putInt("lpos", intent.getIntExtra("lpos", -1)); args.putBoolean("filter_archive", intent.getBooleanExtra("filter_archive", true)); args.putBoolean("found", found); + args.putString("searched", intent.getStringExtra("searched")); args.putBoolean("pinned", intent.getBooleanExtra("pinned", false)); args.putString("msgid", intent.getStringExtra("msgid")); diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 8ee52e6a16..506ee16779 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -203,6 +203,7 @@ public class AdapterMessage extends RecyclerView.Adapter= 0) { + if (start > prev) + holder.appendText(text.substring(prev, start)); + + Element span = document.createElement("span"); + span.attr("style", mergeStyles( + span.attr("style"), + "font-size:larger; background-color:" + encodeWebColor(color) + )); + span.text(text.substring(start, start + find.length())); + holder.appendChild(span); + + prev = start + find.length(); + start = text.toLowerCase().indexOf(find, prev); + } + + if (prev < text.length()) + holder.appendText(text.substring(prev)); + + tnode.before(holder); + tnode.text(""); + } + } + + @Override + public void tail(Node node, int depth) { + } + }, document); + + return document; + } + static void cleanup(Document d) { // https://www.chromestatus.com/feature/5756335865987072 // Some messages contain 100 thousands of Apple spaces