From 1ed0fe7fce07b25f6bf31234d7ca0cd46c59e19a Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 19 Feb 2019 16:21:25 +0000 Subject: [PATCH] Ellipsize notification preview Refs #148 --- app/src/main/java/eu/faircode/email/HtmlHelper.java | 3 ++- .../main/java/eu/faircode/email/ServiceSynchronize.java | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/HtmlHelper.java b/app/src/main/java/eu/faircode/email/HtmlHelper.java index 9fbf4034f6..14d66df8fc 100644 --- a/app/src/main/java/eu/faircode/email/HtmlHelper.java +++ b/app/src/main/java/eu/faircode/email/HtmlHelper.java @@ -60,7 +60,8 @@ 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 { - private static final int PREVIEW_SIZE = 250; + static final int PREVIEW_SIZE = 250; + private static final List heads = Arrays.asList("h1", "h2", "h3", "h4", "h5", "h6", "p", "table", "ol", "ul", "br", "hr"); private static final List tails = Arrays.asList("h1", "h2", "h3", "h4", "h5", "h6", "p", "ol", "ul", "li"); diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 2f48bcba32..1397e052e3 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -60,6 +60,7 @@ import com.sun.mail.util.MailConnectException; import org.json.JSONArray; import org.json.JSONException; +import org.jsoup.Jsoup; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; @@ -688,7 +689,12 @@ public class ServiceSynchronize extends LifecycleService { StringBuilder sb = new StringBuilder(); if (!TextUtils.isEmpty(message.subject)) sb.append(message.subject).append("
"); - sb.append(HtmlHelper.getPreview(body)); + String text = Jsoup.parse(body).text(); + if (text.length() > HtmlHelper.PREVIEW_SIZE) { + sb.append(text.substring(0, HtmlHelper.PREVIEW_SIZE)); + sb.append(" …"); + } else + sb.append(text); mbuilder.setStyle(new Notification.BigTextStyle().bigText(HtmlHelper.fromHtml(sb.toString()))); } catch (IOException ex) { Log.e(ex);