feat(stations): локальные обложки Comedy FM/Spa/StandUp/Женский StandUp

вшиты в ресурсы (res/drawable), привязаны по имени станции (приоритет над
логотипом по домену). Загрузка через android.resource:// в Coil.
This commit is contained in:
nk
2026-06-03 12:35:03 +03:00
parent 5e22db5571
commit b0c3dae20a
6 changed files with 16 additions and 2 deletions

View File

@@ -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<String, String> = 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<String, String> = 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