From 15e1723893ef8ccf016f0166c5eea756877e3f6b Mon Sep 17 00:00:00 2001 From: Shinokuni Date: Sun, 13 Sep 2020 12:38:51 +0200 Subject: [PATCH] Move cleanText method to api package --- .../readrops/api/localfeed/rss/RSSItemsAdapter.kt | 2 +- .../java/com/readrops/api/utils/LibUtils.java | 12 ++++++++++++ .../java/com/readrops/api/utils/LibUtilsTest.kt | 6 ++++++ .../main/java/com/readrops/app/utils/Utils.java | 12 ------------ .../readrops/app/utils/matchers/ItemMatcher.java | 15 ++++++++------- app/src/test/java/com/readrops/app/UtilsTest.java | 8 -------- 6 files changed, 27 insertions(+), 28 deletions(-) diff --git a/api/src/main/java/com/readrops/api/localfeed/rss/RSSItemsAdapter.kt b/api/src/main/java/com/readrops/api/localfeed/rss/RSSItemsAdapter.kt index ea1736dd..e2344061 100644 --- a/api/src/main/java/com/readrops/api/localfeed/rss/RSSItemsAdapter.kt +++ b/api/src/main/java/com/readrops/api/localfeed/rss/RSSItemsAdapter.kt @@ -23,7 +23,7 @@ class RSSItemsAdapter : XmlAdapter> { val item = Item().apply { allChildrenAutoIgnore(names) { when (tagName) { - "title" -> title = nonNullText() + "title" -> title = LibUtils.cleanText(nonNullText()) "link" -> link = nonNullText() "author" -> author = nullableText() "dc:creator" -> creators += nullableText() diff --git a/api/src/main/java/com/readrops/api/utils/LibUtils.java b/api/src/main/java/com/readrops/api/utils/LibUtils.java index 88c238d2..cf7a6813 100644 --- a/api/src/main/java/com/readrops/api/utils/LibUtils.java +++ b/api/src/main/java/com/readrops/api/utils/LibUtils.java @@ -6,6 +6,8 @@ import android.net.Uri; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import org.jsoup.Jsoup; + import java.io.FileNotFoundException; import java.io.InputStream; import java.util.Scanner; @@ -61,4 +63,14 @@ public final class LibUtils { return null; } } + + /** + * Remove html tags and trim the text + * + * @param text string to clean + * @return cleaned text + */ + public static String cleanText(String text) { + return Jsoup.parse(text).text().trim(); + } } diff --git a/api/src/test/java/com/readrops/api/utils/LibUtilsTest.kt b/api/src/test/java/com/readrops/api/utils/LibUtilsTest.kt index a6801cae..ba6b8bc4 100644 --- a/api/src/test/java/com/readrops/api/utils/LibUtilsTest.kt +++ b/api/src/test/java/com/readrops/api/utils/LibUtilsTest.kt @@ -16,4 +16,10 @@ class LibUtilsTest { assertEquals(LibUtils.parseContentType("text/xml"), "text/xml") } + + @Test + fun cleanTextTest() { + val text = "

This is a text
to

clean " + assertEquals("This is a text to clean", LibUtils.cleanText(text)) + } } \ No newline at end of file diff --git a/app/src/main/java/com/readrops/app/utils/Utils.java b/app/src/main/java/com/readrops/app/utils/Utils.java index ea220f4e..7da6514a 100644 --- a/app/src/main/java/com/readrops/app/utils/Utils.java +++ b/app/src/main/java/com/readrops/app/utils/Utils.java @@ -17,8 +17,6 @@ import androidx.annotation.NonNull; import com.google.android.material.snackbar.Snackbar; import com.readrops.api.utils.HttpManager; -import org.jsoup.Jsoup; - import java.io.InputStream; import java.util.Locale; @@ -97,16 +95,6 @@ public final class Utils { snackbar.show(); } - /** - * Remove html tags and trim the text - * - * @param text string to clean - * @return cleaned text - */ - public static String cleanText(String text) { - return Jsoup.parse(text).text().trim(); - } - public static Bitmap getBitmapFromDrawable(Drawable drawable) { Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888); diff --git a/app/src/main/java/com/readrops/app/utils/matchers/ItemMatcher.java b/app/src/main/java/com/readrops/app/utils/matchers/ItemMatcher.java index 651fa211..58803743 100644 --- a/app/src/main/java/com/readrops/app/utils/matchers/ItemMatcher.java +++ b/app/src/main/java/com/readrops/app/utils/matchers/ItemMatcher.java @@ -1,15 +1,16 @@ package com.readrops.app.utils.matchers; -import com.readrops.api.utils.DateUtils; -import com.readrops.app.utils.Utils; -import com.readrops.db.entities.Feed; -import com.readrops.db.entities.Item; import com.readrops.api.localfeed.atom.ATOMEntry; import com.readrops.api.localfeed.json.JSONItem; import com.readrops.api.localfeed.rss.RSSEnclosure; import com.readrops.api.localfeed.rss.RSSItem; import com.readrops.api.localfeed.rss.RSSMediaContent; +import com.readrops.api.utils.DateUtils; +import com.readrops.api.utils.LibUtils; import com.readrops.api.utils.ParseException; +import com.readrops.app.utils.Utils; +import com.readrops.db.entities.Feed; +import com.readrops.db.entities.Item; import java.util.ArrayList; import java.util.List; @@ -26,7 +27,7 @@ public final class ItemMatcher { newItem.setContent(item.getContent()); // Jsoup.clean(item.getContent(), Whitelist.relaxed()) newItem.setDescription(item.getDescription()); newItem.setGuid(item.getGuid() != null ? item.getGuid() : item.getLink()); - newItem.setTitle(Utils.cleanText(item.getTitle())); + newItem.setTitle(LibUtils.cleanText(item.getTitle())); try { newItem.setPubDate(DateUtils.stringToLocalDateTime(item.getDate())); @@ -72,7 +73,7 @@ public final class ItemMatcher { dbItem.setContent(item.getContent()); // Jsoup.clean(item.getContent(), Whitelist.relaxed()) dbItem.setDescription(item.getSummary()); dbItem.setGuid(item.getId()); - dbItem.setTitle(Utils.cleanText(item.getTitle())); + dbItem.setTitle(LibUtils.cleanText(item.getTitle())); try { dbItem.setPubDate(DateUtils.stringToLocalDateTime(item.getUpdated())); @@ -102,7 +103,7 @@ public final class ItemMatcher { dbItem.setContent(item.getContent()); // Jsoup.clean(item.getContent(), Whitelist.relaxed()) dbItem.setDescription(item.getSummary()); dbItem.setGuid(item.getId()); - dbItem.setTitle(Utils.cleanText(item.getTitle())); + dbItem.setTitle(LibUtils.cleanText(item.getTitle())); try { dbItem.setPubDate(DateUtils.stringToLocalDateTime(item.getPubDate())); diff --git a/app/src/test/java/com/readrops/app/UtilsTest.java b/app/src/test/java/com/readrops/app/UtilsTest.java index b15e86a8..f9c4eb22 100644 --- a/app/src/test/java/com/readrops/app/UtilsTest.java +++ b/app/src/test/java/com/readrops/app/UtilsTest.java @@ -7,17 +7,9 @@ import com.readrops.app.utils.Utils; import org.junit.Test; import static junit.framework.Assert.assertTrue; -import static junit.framework.TestCase.assertEquals; public class UtilsTest { - @Test - public void cleanTextTest() { - String text = "

This is a text
to

clean "; - - assertEquals("This is a text to clean", Utils.cleanText(text)); - } - @Test public void colorTooBrightTest() { assertTrue(Utils.isColorTooBright(-986896));