diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java
index 770aae7703..60715ea549 100644
--- a/app/src/main/java/eu/faircode/email/Core.java
+++ b/app/src/main/java/eu/faircode/email/Core.java
@@ -3007,19 +3007,15 @@ class Core {
if (message.content && notify_preview)
try {
String body = Helper.readText(message.getFile(context));
+
StringBuilder sbm = new StringBuilder();
if (!TextUtils.isEmpty(message.subject))
sbm.append(message.subject).append("
");
- String text = Jsoup.parse(body).text();
- if (!TextUtils.isEmpty(text)) {
- sbm.append("");
- if (text.length() > HtmlHelper.PREVIEW_SIZE) {
- sbm.append(text.substring(0, HtmlHelper.PREVIEW_SIZE));
- sbm.append("…");
- } else
- sbm.append(text);
- sbm.append("");
- }
+
+ String preview = HtmlHelper.getPreview(body);
+ if (!TextUtils.isEmpty(preview))
+ sbm.append("").append(preview).append("");
+
mbuilder.setStyle(new NotificationCompat.BigTextStyle().bigText(HtmlHelper.fromHtml(sbm.toString())));
} catch (IOException ex) {
Log.e(ex);
diff --git a/app/src/main/java/eu/faircode/email/HtmlHelper.java b/app/src/main/java/eu/faircode/email/HtmlHelper.java
index 173ae90f40..5a41a3cc91 100644
--- a/app/src/main/java/eu/faircode/email/HtmlHelper.java
+++ b/app/src/main/java/eu/faircode/email/HtmlHelper.java
@@ -83,7 +83,7 @@ import static androidx.core.text.HtmlCompat.FROM_HTML_SEPARATOR_LINE_BREAK_LIST_
import static androidx.core.text.HtmlCompat.TO_HTML_PARAGRAPH_LINES_CONSECUTIVE;
public class HtmlHelper {
- static final int PREVIEW_SIZE = 250; // characters
+ private static final int PREVIEW_SIZE = 250; // characters
private static final float MIN_LUMINANCE = 0.5f;
private static final int MAX_AUTO_LINK = 250;
@@ -812,8 +812,16 @@ public class HtmlHelper {
}
static String getPreview(String body) {
- String text = (body == null ? null : Jsoup.parse(body).text());
- return (text == null ? null : text.substring(0, Math.min(text.length(), PREVIEW_SIZE)));
+ if (body == null)
+ return null;
+
+ String text = Jsoup.parse(body).text();
+
+ String preview = text.substring(0, Math.min(text.length(), PREVIEW_SIZE));
+ if (preview.length() < text.length())
+ preview += "…";
+
+ return preview;
}
static String getText(String html) {