diff --git a/app/src/main/java/com/radiola/data/repository/StationRepositoryImpl.kt b/app/src/main/java/com/radiola/data/repository/StationRepositoryImpl.kt index 6f4d678..0bf042c 100644 --- a/app/src/main/java/com/radiola/data/repository/StationRepositoryImpl.kt +++ b/app/src/main/java/com/radiola/data/repository/StationRepositoryImpl.kt @@ -41,9 +41,15 @@ class StationRepositoryImpl @Inject constructor( val apiStations = apiResponse?.result?.stations ?: 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 apiStation = apiStations.find { it.id == local.id } + ?: apiStations.find { + it.name.trim().equals(local.name.trim(), ignoreCase = true) + } if (apiStation != null) { val domain = apiStation.toDomain() local.copy(