fix(stations): подтягивать обложки/потоки Record по названию станции

Локальные станции (assets/stations.json, id 1,2,3...) обогащались данными
Record только по id, но id Record-каталога другие (15016...) и prefix в
ассетах нет — поэтому совпадений почти не было и обложки не грузились.
Добавлен фолбэк-матч по названию станции (стабильный общий ключ).
This commit is contained in:
nk
2026-06-03 11:22:57 +03:00
parent a50a108f63
commit 32e5108d98

View File

@@ -41,9 +41,15 @@ class StationRepositoryImpl @Inject constructor(
val apiStations = apiResponse?.result?.stations ?: emptyList() val apiStations = apiResponse?.result?.stations ?: emptyList()
val apiTags = apiResponse?.result?.tags?.map { it.name } ?: emptyList() val apiTags = apiResponse?.result?.tags?.map { it.name } ?: emptyList()
// 3. Merge: local stations enriched with API data where IDs match // 3. Merge: local stations enriched with API data.
// Локальные id (1,2,3…) не совпадают с id Record-каталога, и в ассетах
// нет prefix — поэтому сопоставляем сначала по id, затем по названию
// (стабильный общий ключ), иначе обложки/потоки не подтягиваются.
val merged = localStations.map { local -> val merged = localStations.map { local ->
val apiStation = apiStations.find { it.id == local.id } val apiStation = apiStations.find { it.id == local.id }
?: apiStations.find {
it.name.trim().equals(local.name.trim(), ignoreCase = true)
}
if (apiStation != null) { if (apiStation != null) {
val domain = apiStation.toDomain() val domain = apiStation.toDomain()
local.copy( local.copy(