From bdeb57c2add9ebfbc29f540370b2c3ef129b2d93 Mon Sep 17 00:00:00 2001 From: nk Date: Sun, 7 Jun 2026 18:59:46 +0300 Subject: [PATCH] =?UTF-8?q?fix(app):=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA?= =?UTF-8?q?=D0=B0=20=D1=80=D0=B0=D1=81=D0=BF=D0=BE=D0=B7=D0=BD=D0=B0=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B2=D0=B8=D0=B4=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=B8=20=D0=BF=D1=80=D0=B8=20=D0=BF=D1=83=D1=81=D1=82=D0=BE?= =?UTF-8?q?=D0=BC=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D0=B5=20=D1=82=D1=80=D0=B5=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit track == null почти не выполнялось: «безымянные» станции шлют ICY-строку без разделителя → parseIcyTitle делает трек с пустым artist. Показываем кнопку, когда нет РЕАЛЬНОГО трека (track null ИЛИ пустой artist/song ИЛИ song == имя станции). Co-Authored-By: Claude Opus 4.8 --- .../java/com/radiola/ui/player/PlayerBottomSheet.kt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/radiola/ui/player/PlayerBottomSheet.kt b/app/src/main/java/com/radiola/ui/player/PlayerBottomSheet.kt index 30ff0fb..ff22515 100644 --- a/app/src/main/java/com/radiola/ui/player/PlayerBottomSheet.kt +++ b/app/src/main/java/com/radiola/ui/player/PlayerBottomSheet.kt @@ -193,10 +193,18 @@ fun PlayerBottomSheet( } } - // Кнопка распознавания (Shazam) — только для музыкальных станций без метаданных эфира. + // Кнопка распознавания (Shazam) — только для музыкальных станций без РЕАЛЬНЫХ + // метаданных эфира. «Безымянные» станции часто шлют ICY-строку (слоган/название) + // без разделителя → parseIcyTitle делает трек с ПУСТЫМ исполнителем; такой трек + // и есть «нет названия» → кнопку показываем. Настоящий «Исполнитель — Трек» + // (artist и song заполнены) → кнопка скрыта. val recognizeSection: @Composable () -> Unit = { + val noRealTrack = track == null || + track.artist.isBlank() || + track.song.isBlank() || + track.song == station?.name val show = station != null && - track == null && + noRealTrack && com.radiola.domain.model.MusicGenres.isMusicStation(station.genre) if (show) { val interaction = remember { MutableInteractionSource() }