Parse favicons in runtime

This commit is contained in:
Koitharu
2022-07-12 09:35:52 +03:00
parent 9dc3ad38fc
commit 9c66f74a5b
15 changed files with 203 additions and 43 deletions

View File

@@ -5,6 +5,7 @@ import coil.ImageLoader
import coil.request.Disposable
import coil.request.ImageRequest
import com.hannesdorfmann.adapterdelegates4.dsl.adapterDelegateViewBinding
import org.koitharu.kotatsu.core.parser.favicon.faviconUri
import org.koitharu.kotatsu.databinding.ItemSearchSuggestionSourceBinding
import org.koitharu.kotatsu.search.ui.suggestion.SearchSuggestionListener
import org.koitharu.kotatsu.search.ui.suggestion.model.SearchSuggestionItem
@@ -33,7 +34,7 @@ fun searchSuggestionSourceAD(
binding.switchLocal.isChecked = item.isEnabled
val fallbackIcon = FaviconFallbackDrawable(context, item.source.name)
imageRequest = ImageRequest.Builder(context)
.data(item.faviconUrl)
.data(item.source.faviconUri())
.fallback(fallbackIcon)
.placeholder(fallbackIcon)
.error(fallbackIcon)

View File

@@ -57,9 +57,6 @@ sealed interface SearchSuggestionItem {
val isEnabled: Boolean,
) : SearchSuggestionItem {
val faviconUrl: Uri
get() = Uri.fromParts("favicon", source.name, null)
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (javaClass != other?.javaClass) return false