diff --git a/app/src/main/java/com/radiola/data/local/LocalStationDataSource.kt b/app/src/main/java/com/radiola/data/local/LocalStationDataSource.kt index 2994ef2..3f1c55d 100644 --- a/app/src/main/java/com/radiola/data/local/LocalStationDataSource.kt +++ b/app/src/main/java/com/radiola/data/local/LocalStationDataSource.kt @@ -37,7 +37,7 @@ class LocalStationDataSource @Inject constructor( name = dto.name, prefix = prefix, streamUrl = dto.stream!!, - coverUrl = StationLogos.forSite(dto.site) ?: "", + coverUrl = StationLogos.forName(dto.name) ?: StationLogos.forSite(dto.site) ?: "", genre = group?.name ?: "", tags = listOfNotNull(group?.name?.takeIf { it.isNotBlank() }), sortOrder = dto.id, diff --git a/app/src/main/java/com/radiola/data/local/StationLogos.kt b/app/src/main/java/com/radiola/data/local/StationLogos.kt index 7eab28b..ab86759 100644 --- a/app/src/main/java/com/radiola/data/local/StationLogos.kt +++ b/app/src/main/java/com/radiola/data/local/StationLogos.kt @@ -7,11 +7,25 @@ package com.radiola.data.local */ object StationLogos { + // Локальные обложки в ресурсах (res/drawable) — ключ: имя станции в нижнем регистре. + private fun res(name: String) = "android.resource://com.radiola/drawable/$name" + + private val byName: Map = mapOf( + "comedy fm" to res("cover_comedy_fm"), + "comedy spa" to res("cover_comedy_spa"), + "standup" to res("cover_standup"), + "женский standup" to res("cover_standup_women"), + ) + private val byDomain: Map = mapOf( - // Comedy Radio (Comedy FM / Comedy Club / Comedy Spa) — платформа 101.ru + // Comedy Radio (Comedy Club и пр.) — платформа 101.ru "comedy-radio.ru" to "https://comedy-radio.ru/design/images/logo/apple-touch-icon-180.png?v=2", ) + /** Обложка по точному имени станции, либо null. */ + fun forName(name: String?): String? = + name?.trim()?.lowercase()?.let { byName[it] } + /** Логотип станции по её сайту, либо null. */ fun forSite(site: String?): String? { val host = site diff --git a/app/src/main/res/drawable/cover_comedy_fm.jpg b/app/src/main/res/drawable/cover_comedy_fm.jpg new file mode 100644 index 0000000..6f4d424 Binary files /dev/null and b/app/src/main/res/drawable/cover_comedy_fm.jpg differ diff --git a/app/src/main/res/drawable/cover_comedy_spa.jpg b/app/src/main/res/drawable/cover_comedy_spa.jpg new file mode 100644 index 0000000..f68779a Binary files /dev/null and b/app/src/main/res/drawable/cover_comedy_spa.jpg differ diff --git a/app/src/main/res/drawable/cover_standup.jpg b/app/src/main/res/drawable/cover_standup.jpg new file mode 100644 index 0000000..b157b44 Binary files /dev/null and b/app/src/main/res/drawable/cover_standup.jpg differ diff --git a/app/src/main/res/drawable/cover_standup_women.jpg b/app/src/main/res/drawable/cover_standup_women.jpg new file mode 100644 index 0000000..6435b5a Binary files /dev/null and b/app/src/main/res/drawable/cover_standup_women.jpg differ