Improve image handling

This commit is contained in:
2023-09-12 00:17:41 +02:00
parent dcb9b1cb1f
commit 20aab0ea62
3 changed files with 60 additions and 53 deletions

View File

@@ -25,19 +25,10 @@ actual fun SelfossModel.Item.getThumbnail(baseUrl: String): String {
}
actual fun SelfossModel.Item.getImages(): ArrayList<String> {
val allImages = ArrayList<String>()
val doc = Jsoup.parse(content)
val images = doc.getElementsByTag("img")
for ( image in Jsoup.parse(content).getElementsByTag("img")) {
val url = image.attr("src")
if (url.lowercase(Locale.US).contains(".jpg") ||
url.lowercase(Locale.US).contains(".jpeg") ||
url.lowercase(Locale.US).contains(".png") ||
url.lowercase(Locale.US).contains(".webp"))
{
allImages.add(url)
}
}
return allImages
return ArrayList(images.map { it.attr("src") })
}
actual fun SelfossModel.Source.getIcon(baseUrl: String): String {

View File

@@ -8,4 +8,20 @@ enum class ItemType(val position: Int, val type: String) {
companion object {
fun fromInt(value: Int) = values().first { it.position == value }
}
}
enum class ImageMimeType(val extension: String, val mimeType: String) {
JPG(".jpg", "image/jpeg"),
JPEG(".jpeg", "image/jpeg"),
PNG(".png", "image/png"),
WEBP(".webp", "image/webp"),
GIF(".gif", "image/gif"),
SVG(".svg", "image/svg+xml"),
BMP(".bmp", "image/bmp"),
TIFF(".tiff", "image/tiff"),
TIF(".tif", "image/tiff");
companion object {
fun findMimeTypeByExtension(ext: String) = values().find { it.extension == ext }?.mimeType
}
}