From be6e1acfd8e8fffdf3525a7c2f944401fdb192f2 Mon Sep 17 00:00:00 2001 From: nk Date: Fri, 5 Jun 2026 20:52:21 +0300 Subject: [PATCH] =?UTF-8?q?fix(stations):=20=D0=B6=D0=B0=D0=BD=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D1=8B=D0=B5=20=D1=87=D0=B8=D0=BF=D1=8B=20Record=20(?= =?UTF-8?q?=D0=9B=D0=B5=D1=82=D0=BE=20=D0=B8=20=D0=B4=D1=80.)=20=D0=B1?= =?UTF-8?q?=D0=BE=D0=BB=D1=8C=D1=88=D0=B5=20=D0=BD=D0=B5=20=D0=BF=D1=83?= =?UTF-8?q?=D1=81=D1=82=D1=8B=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Record API кладёт категории станции в поле "genre" (массив {id,name}), а StationDto/ApiMapper читали только "tags" (у станции отсутствует) → у всех станций Рекорда жанровые теги были пустыми, и чипы вроде «Лето» при клике показывали пустоту. Добавлено поле genres (@SerialName genre), маплю genre+tags в Station.tags. Раздел «Лето» теперь наполняется летними станциями Record (Chill House, Beach Party, Tropical, Summer Lounge, Mashup и др.). Co-Authored-By: Claude Opus 4.8 --- app/src/main/java/com/radiola/data/remote/ApiMapper.kt | 4 +++- app/src/main/java/com/radiola/data/remote/dto/StationDto.kt | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/radiola/data/remote/ApiMapper.kt b/app/src/main/java/com/radiola/data/remote/ApiMapper.kt index 31c7124..96f724b 100644 --- a/app/src/main/java/com/radiola/data/remote/ApiMapper.kt +++ b/app/src/main/java/com/radiola/data/remote/ApiMapper.kt @@ -17,7 +17,9 @@ object ApiMapper { streamUrl = stream, coverUrl = cover, genre = tooltip ?: "", - tags = tags.map { it.name }, + // Жанры-категории станции лежат в "genre"; "tags" обычно пуст. Берём + // оба, чтобы работали жанровые чипы Record (Лето и пр.). + tags = (genres + tags).map { it.name }.distinct(), sortOrder = sort ) } diff --git a/app/src/main/java/com/radiola/data/remote/dto/StationDto.kt b/app/src/main/java/com/radiola/data/remote/dto/StationDto.kt index 031d46f..c36ae55 100644 --- a/app/src/main/java/com/radiola/data/remote/dto/StationDto.kt +++ b/app/src/main/java/com/radiola/data/remote/dto/StationDto.kt @@ -16,6 +16,10 @@ data class StationDto( @SerialName("stream_128") val stream128: String? = null, @SerialName("stream_320") val stream320: String? = null, @SerialName("stream_hls") val streamHls: String? = null, + // Record API кладёт жанры-категории станции в поле "genre" (массив {id,name}), + // а не в "tags". Раньше читали только "tags" (его у станции нет) — поэтому + // жанровые чипы Record (Лето, House, …) были пустыми. Берём оба. + @SerialName("genre") val genres: List = emptyList(), @SerialName("tags") val tags: List = emptyList() )