diff --git a/app/src/main/java/io/legado/app/constant/RSSKeywords.kt b/app/src/main/java/io/legado/app/constant/RSSKeywords.kt deleted file mode 100644 index 686842950..000000000 --- a/app/src/main/java/io/legado/app/constant/RSSKeywords.kt +++ /dev/null @@ -1,17 +0,0 @@ -package io.legado.app.constant - -object RSSKeywords { - - const val RSS_ITEM = "item" - const val RSS_ITEM_TITLE = "title" - const val RSS_ITEM_LINK = "link" - const val RSS_ITEM_CATEGORY = "category" - const val RSS_ITEM_THUMBNAIL = "media:thumbnail" - const val RSS_ITEM_ENCLOSURE = "enclosure" - const val RSS_ITEM_DESCRIPTION = "description" - const val RSS_ITEM_CONTENT = "content:encoded" - const val RSS_ITEM_PUB_DATE = "pubDate" - const val RSS_ITEM_TIME = "time" - const val RSS_ITEM_URL = "url" - const val RSS_ITEM_TYPE = "type" -} \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/model/rss/RssParser.kt b/app/src/main/java/io/legado/app/model/rss/RssParser.kt index 816a3858f..7bda16e6d 100644 --- a/app/src/main/java/io/legado/app/model/rss/RssParser.kt +++ b/app/src/main/java/io/legado/app/model/rss/RssParser.kt @@ -1,6 +1,5 @@ package io.legado.app.model.rss -import io.legado.app.constant.RSSKeywords import io.legado.app.data.entities.RssArticle import io.legado.app.model.Debug import org.xmlpull.v1.XmlPullParser @@ -34,26 +33,26 @@ object RssParser { // Start parsing the item if (eventType == XmlPullParser.START_TAG) { when { - xmlPullParser.name.equals(RSSKeywords.RSS_ITEM, true) -> + xmlPullParser.name.equals(RSS_ITEM, true) -> insideItem = true - xmlPullParser.name.equals(RSSKeywords.RSS_ITEM_TITLE, true) -> + xmlPullParser.name.equals(RSS_ITEM_TITLE, true) -> if (insideItem) currentArticle.title = xmlPullParser.nextText().trim() - xmlPullParser.name.equals(RSSKeywords.RSS_ITEM_LINK, true) -> + xmlPullParser.name.equals(RSS_ITEM_LINK, true) -> if (insideItem) currentArticle.link = xmlPullParser.nextText().trim() - xmlPullParser.name.equals(RSSKeywords.RSS_ITEM_THUMBNAIL, true) -> + xmlPullParser.name.equals(RSS_ITEM_THUMBNAIL, true) -> if (insideItem) currentArticle.image = - xmlPullParser.getAttributeValue(null, RSSKeywords.RSS_ITEM_URL) - xmlPullParser.name.equals(RSSKeywords.RSS_ITEM_ENCLOSURE, true) -> + xmlPullParser.getAttributeValue(null, RSS_ITEM_URL) + xmlPullParser.name.equals(RSS_ITEM_ENCLOSURE, true) -> if (insideItem) { val type = - xmlPullParser.getAttributeValue(null, RSSKeywords.RSS_ITEM_TYPE) + xmlPullParser.getAttributeValue(null, RSS_ITEM_TYPE) if (type != null && type.contains("image/")) { currentArticle.image = - xmlPullParser.getAttributeValue(null, RSSKeywords.RSS_ITEM_URL) + xmlPullParser.getAttributeValue(null, RSS_ITEM_URL) } } xmlPullParser.name - .equals(RSSKeywords.RSS_ITEM_DESCRIPTION, true) -> + .equals(RSS_ITEM_DESCRIPTION, true) -> if (insideItem) { val description = xmlPullParser.nextText() currentArticle.description = description.trim() @@ -61,7 +60,7 @@ object RssParser { currentArticle.image = getImageUrl(description) } } - xmlPullParser.name.equals(RSSKeywords.RSS_ITEM_CONTENT, true) -> + xmlPullParser.name.equals(RSS_ITEM_CONTENT, true) -> if (insideItem) { val content = xmlPullParser.nextText().trim() currentArticle.content = content @@ -70,7 +69,7 @@ object RssParser { } } xmlPullParser.name - .equals(RSSKeywords.RSS_ITEM_PUB_DATE, true) -> + .equals(RSS_ITEM_PUB_DATE, true) -> if (insideItem) { val nextTokenType = xmlPullParser.next() if (nextTokenType == XmlPullParser.TEXT) { @@ -79,7 +78,7 @@ object RssParser { // Skip to be able to find date inside 'tag' tag continue@loop } - xmlPullParser.name.equals(RSSKeywords.RSS_ITEM_TIME, true) -> + xmlPullParser.name.equals(RSS_ITEM_TIME, true) -> if (insideItem) currentArticle.pubDate = xmlPullParser.nextText() } } else if (eventType == XmlPullParser.END_TAG @@ -129,4 +128,17 @@ object RssParser { } return url } + + private const val RSS_ITEM = "item" + private const val RSS_ITEM_TITLE = "title" + private const val RSS_ITEM_LINK = "link" + private const val RSS_ITEM_CATEGORY = "category" + private const val RSS_ITEM_THUMBNAIL = "media:thumbnail" + private const val RSS_ITEM_ENCLOSURE = "enclosure" + private const val RSS_ITEM_DESCRIPTION = "description" + private const val RSS_ITEM_CONTENT = "content:encoded" + private const val RSS_ITEM_PUB_DATE = "pubDate" + private const val RSS_ITEM_TIME = "time" + private const val RSS_ITEM_URL = "url" + private const val RSS_ITEM_TYPE = "type" } \ No newline at end of file