fix(now-playing): матч текущего трека по id станции, а не по имени

Станции с одинаковым именем в разных сетях (напр. «Deep» у Record и DFM)
показывали один и тот же трек — матч был по lowercase-имени. Каталожный id
(== station.id) уникален и совпадает со stationId в /now-playing, поэтому
матчим по id. Убран весь by-name путь (репозиторий, плеер, карточки).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
nk
2026-06-03 15:54:24 +03:00
parent eeceb754ea
commit 1ef60b6053
8 changed files with 15 additions and 44 deletions

View File

@@ -4,9 +4,7 @@ import com.radiola.domain.model.Track
import kotlinx.coroutines.flow.Flow
interface NowPlayingRepository {
fun getNowPlaying(stationId: Int, stationName: String): Flow<Track?>
fun getNowPlaying(stationId: Int): Flow<Track?>
fun getAllNowPlaying(): Flow<Map<Int, Track>>
// Карта по lowercase-имени станции — для матчинга с карточками (id может не совпадать).
fun getAllNowPlayingByName(): Flow<Map<String, Track>>
suspend fun refreshNowPlaying(): Result<Unit>
}

View File

@@ -8,7 +8,7 @@ import javax.inject.Inject
class GetNowPlayingUseCase @Inject constructor(
private val nowPlayingRepository: NowPlayingRepository
) {
operator fun invoke(stationId: Int, stationName: String): Flow<Track?> {
return nowPlayingRepository.getNowPlaying(stationId, stationName)
operator fun invoke(stationId: Int): Flow<Track?> {
return nowPlayingRepository.getNowPlaying(stationId)
}
}