diff --git a/capy/src/main/java/com/jocmp/capy/accounts/LocalAccountDelegate.kt b/capy/src/main/java/com/jocmp/capy/accounts/LocalAccountDelegate.kt index e126ffc3..e5b32ccd 100644 --- a/capy/src/main/java/com/jocmp/capy/accounts/LocalAccountDelegate.kt +++ b/capy/src/main/java/com/jocmp/capy/accounts/LocalAccountDelegate.kt @@ -172,8 +172,8 @@ class LocalAccountDelegate( subscription_id = feedURL, title = feed.name, feed_url = feedURL, - site_url = feed.siteURL.toString(), - favicon_url = null + site_url = feed.siteURL?.toString(), + favicon_url = feed.faviconURL?.toString() ) } } diff --git a/capy/src/test/java/com/jocmp/capy/accounts/LocalAccountDelegateTest.kt b/capy/src/test/java/com/jocmp/capy/accounts/LocalAccountDelegateTest.kt index b388ed46..7f996028 100644 --- a/capy/src/test/java/com/jocmp/capy/accounts/LocalAccountDelegateTest.kt +++ b/capy/src/test/java/com/jocmp/capy/accounts/LocalAccountDelegateTest.kt @@ -206,7 +206,8 @@ class LocalAccountDelegateTest { private data class TestFeed( override val name: String, override val feedURL: URL, - override val siteURL: URL? = null + override val siteURL: URL? = null, + override val faviconURL: URL? = null ) : Feed { override fun isValid() = true } diff --git a/feedfinder/src/main/java/com/jocmp/feedfinder/parser/Feed.kt b/feedfinder/src/main/java/com/jocmp/feedfinder/parser/Feed.kt index cc6b09aa..5808919d 100644 --- a/feedfinder/src/main/java/com/jocmp/feedfinder/parser/Feed.kt +++ b/feedfinder/src/main/java/com/jocmp/feedfinder/parser/Feed.kt @@ -10,4 +10,6 @@ interface Feed { val feedURL: URL val siteURL: URL? + + val faviconURL: URL? } diff --git a/feedfinder/src/main/java/com/jocmp/feedfinder/parser/XMLFeed.kt b/feedfinder/src/main/java/com/jocmp/feedfinder/parser/XMLFeed.kt index 4a10c363..8a039bc6 100644 --- a/feedfinder/src/main/java/com/jocmp/feedfinder/parser/XMLFeed.kt +++ b/feedfinder/src/main/java/com/jocmp/feedfinder/parser/XMLFeed.kt @@ -21,6 +21,8 @@ internal class XMLFeed( get() = channel?.link?.let { URL(it) } + override val faviconURL: URL? + get() = channel?.image?.url?.let { URL(it) } private fun hasEntries(): Boolean { return channel != null &&