fix(app): кнопка распознавания видна и при пустом исполнителе трека

track == null почти не выполнялось: «безымянные» станции шлют ICY-строку без
разделителя → parseIcyTitle делает трек с пустым artist. Показываем кнопку, когда
нет РЕАЛЬНОГО трека (track null ИЛИ пустой artist/song ИЛИ song == имя станции).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
nk
2026-06-07 18:59:46 +03:00
parent 38ddc96fab
commit bdeb57c2ad

View File

@@ -193,10 +193,18 @@ fun PlayerBottomSheet(
} }
} }
// Кнопка распознавания (Shazam) — только для музыкальных станций без метаданных эфира. // Кнопка распознавания (Shazam) — только для музыкальных станций без РЕАЛЬНЫХ
// метаданных эфира. «Безымянные» станции часто шлют ICY-строку (слоган/название)
// без разделителя → parseIcyTitle делает трек с ПУСТЫМ исполнителем; такой трек
// и есть «нет названия» → кнопку показываем. Настоящий «Исполнитель — Трек»
// (artist и song заполнены) → кнопка скрыта.
val recognizeSection: @Composable () -> Unit = { val recognizeSection: @Composable () -> Unit = {
val noRealTrack = track == null ||
track.artist.isBlank() ||
track.song.isBlank() ||
track.song == station?.name
val show = station != null && val show = station != null &&
track == null && noRealTrack &&
com.radiola.domain.model.MusicGenres.isMusicStation(station.genre) com.radiola.domain.model.MusicGenres.isMusicStation(station.genre)
if (show) { if (show) {
val interaction = remember { MutableInteractionSource() } val interaction = remember { MutableInteractionSource() }