From 425d19f2d6c5583f5edc013e0114e12d51347286 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sun, 10 Jul 2022 17:45:56 +0200 Subject: [PATCH] Fix issue #237 - CW not filtered --- .../android/helper/TimelineHelper.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/app/src/main/java/app/fedilab/android/helper/TimelineHelper.java b/app/src/main/java/app/fedilab/android/helper/TimelineHelper.java index b37f899f..766f8f18 100644 --- a/app/src/main/java/app/fedilab/android/helper/TimelineHelper.java +++ b/app/src/main/java/app/fedilab/android/helper/TimelineHelper.java @@ -107,6 +107,18 @@ public class TimelineHelper { Matcher m = p.matcher(content); if (m.find()) { statusesToRemove.add(status); + continue; + } + if (status.spoiler_text != null) { + String spoilerText; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) + spoilerText = Html.fromHtml(status.spoiler_text, Html.FROM_HTML_MODE_LEGACY).toString(); + else + spoilerText = Html.fromHtml(status.spoiler_text).toString(); + Matcher ms = p.matcher(spoilerText); + if (ms.find()) { + statusesToRemove.add(status); + } } } } else { @@ -118,6 +130,18 @@ public class TimelineHelper { content = Html.fromHtml(status.content).toString(); if (content.contains(filter.phrase)) { statusesToRemove.add(status); + continue; + } + + if (status.spoiler_text != null) { + String spoilerText; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) + spoilerText = Html.fromHtml(status.spoiler_text, Html.FROM_HTML_MODE_LEGACY).toString(); + else + spoilerText = Html.fromHtml(status.spoiler_text).toString(); + if (spoilerText.contains(filter.phrase)) { + statusesToRemove.add(status); + } } } }