From 59315b701d6a0fd9447831162e030ed6014dde39 Mon Sep 17 00:00:00 2001 From: Barnabas Balogh Date: Thu, 25 Jun 2026 21:09:43 +0200 Subject: [PATCH] fix(repository): merge existing seasons when updating series with empty seasons --- .../data/catalog/InMemoryLocalMediaRepository.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/data/src/main/java/hu/bbara/purefin/data/catalog/InMemoryLocalMediaRepository.kt b/data/src/main/java/hu/bbara/purefin/data/catalog/InMemoryLocalMediaRepository.kt index bb828fac..b652eed4 100644 --- a/data/src/main/java/hu/bbara/purefin/data/catalog/InMemoryLocalMediaRepository.kt +++ b/data/src/main/java/hu/bbara/purefin/data/catalog/InMemoryLocalMediaRepository.kt @@ -79,7 +79,15 @@ class InMemoryLocalMediaRepository @Inject constructor( return@run } val series = item.toSeries(serverUrl.first()) - seriesState.update { current -> current + (series.id to series) } + seriesState.update { current -> + val existing = current[series.id] + val merged = if (existing != null && existing.seasons.isNotEmpty() && series.seasons.isEmpty()) { + series.copy(seasons = existing.seasons) + } else { + series + } + current + (series.id to merged) + } } } catch (error: CancellationException) { throw error