diff --git a/core/src/main/java/hu/bbara/purefin/data/CompositeLocalMediaRepository.kt b/core/src/main/java/hu/bbara/purefin/data/CompositeLocalMediaRepository.kt index ae72d2fe..6f315892 100644 --- a/core/src/main/java/hu/bbara/purefin/data/CompositeLocalMediaRepository.kt +++ b/core/src/main/java/hu/bbara/purefin/data/CompositeLocalMediaRepository.kt @@ -3,7 +3,6 @@ package hu.bbara.purefin.data import hu.bbara.purefin.Offline import hu.bbara.purefin.Online import hu.bbara.purefin.model.Episode -import hu.bbara.purefin.model.Genre import hu.bbara.purefin.model.Movie import hu.bbara.purefin.model.Series import kotlinx.coroutines.CoroutineScope @@ -44,10 +43,6 @@ class CompositeLocalMediaRepository @Inject constructor( .flatMapLatest { it.episodes } .stateIn(scope, Eagerly, emptyMap()) - override val genres: StateFlow> = activeRepository - .flatMapLatest { it.genres } - .stateIn(scope, Eagerly, emptySet()) - override suspend fun getMovie(id: UUID): Flow { return activeRepository .flatMapLatest { it.getMovie(id) } diff --git a/core/src/main/java/hu/bbara/purefin/data/LocalMediaRepository.kt b/core/src/main/java/hu/bbara/purefin/data/LocalMediaRepository.kt index e477be0f..9890c3d5 100644 --- a/core/src/main/java/hu/bbara/purefin/data/LocalMediaRepository.kt +++ b/core/src/main/java/hu/bbara/purefin/data/LocalMediaRepository.kt @@ -1,7 +1,6 @@ package hu.bbara.purefin.data import hu.bbara.purefin.model.Episode -import hu.bbara.purefin.model.Genre import hu.bbara.purefin.model.Movie import hu.bbara.purefin.model.Series import kotlinx.coroutines.flow.Flow @@ -12,7 +11,6 @@ interface LocalMediaRepository : LocalMediaUpdater { val movies: StateFlow> val series: StateFlow> val episodes: StateFlow> - val genres: StateFlow> suspend fun getMovie(id: UUID): Flow suspend fun getSeries(id: UUID): Flow suspend fun getEpisode(id: UUID): Flow diff --git a/data/src/main/java/hu/bbara/purefin/data/catalog/InMemoryAppContentRepository.kt b/data/src/main/java/hu/bbara/purefin/data/catalog/InMemoryAppContentRepository.kt index fa17b7ca..ed5907e4 100644 --- a/data/src/main/java/hu/bbara/purefin/data/catalog/InMemoryAppContentRepository.kt +++ b/data/src/main/java/hu/bbara/purefin/data/catalog/InMemoryAppContentRepository.kt @@ -6,7 +6,6 @@ import hu.bbara.purefin.data.HomeRepository import hu.bbara.purefin.data.NetworkMonitor import hu.bbara.purefin.data.UserSessionRepository import hu.bbara.purefin.data.converter.toEpisode -import hu.bbara.purefin.data.converter.toGenre import hu.bbara.purefin.data.converter.toLibrary import hu.bbara.purefin.data.converter.toMovie import hu.bbara.purefin.data.converter.toSeason @@ -101,7 +100,6 @@ class InMemoryAppContentRepository @Inject constructor( loadContinueWatching() loadNextUp() loadLatestLibraryContent() - loadGenres() Log.d(TAG, "Home refresh successful") persistHomeCache() }.onFailure { error -> @@ -339,12 +337,6 @@ class InMemoryAppContentRepository @Inject constructor( latestLibraryContentState.value = latestLibraryContents } - private suspend fun loadGenres() { - val baseItemDtos = jellyfinApiClient.getGenres() - val genres = baseItemDtos.map { it.toGenre() } - onlineMediaRepository.upsertGenres(genres.toSet()) - } - private suspend fun serverUrl(): String { return userSessionRepository.serverUrl.first() } 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 687fb6d7..d8a35e56 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 @@ -9,7 +9,6 @@ import hu.bbara.purefin.data.converter.toSeason import hu.bbara.purefin.data.converter.toSeries import hu.bbara.purefin.data.jellyfin.client.JellyfinApiClient import hu.bbara.purefin.model.Episode -import hu.bbara.purefin.model.Genre import hu.bbara.purefin.model.Movie import hu.bbara.purefin.model.Series import kotlinx.coroutines.CancellationException @@ -49,9 +48,6 @@ class InMemoryLocalMediaRepository @Inject constructor( private val episodesState = MutableStateFlow>(emptyMap()) override val episodes: StateFlow> = episodesState.asStateFlow() - private val genresState = MutableStateFlow>(emptySet()) - override var genres: StateFlow> = genresState.asStateFlow() - override suspend fun getMovie(id: UUID): Flow { if (!moviesState.value.containsKey(id)) { jellyfinApiClient.getItemInfo(id)?.let { item -> @@ -96,10 +92,6 @@ class InMemoryLocalMediaRepository @Inject constructor( return episodesState.map { it[id] } } - fun upsertGenres(genres: Set) { - genresState.update { current -> current + genres } - } - fun upsertMovies(movies: List) { moviesState.update { current -> current + movies.associateBy { it.id } } } diff --git a/data/src/main/java/hu/bbara/purefin/data/catalog/OfflineLocalMediaRepository.kt b/data/src/main/java/hu/bbara/purefin/data/catalog/OfflineLocalMediaRepository.kt index c8a94a58..c13594e7 100644 --- a/data/src/main/java/hu/bbara/purefin/data/catalog/OfflineLocalMediaRepository.kt +++ b/data/src/main/java/hu/bbara/purefin/data/catalog/OfflineLocalMediaRepository.kt @@ -3,14 +3,12 @@ package hu.bbara.purefin.data.catalog import hu.bbara.purefin.data.LocalMediaRepository import hu.bbara.purefin.data.offline.room.offline.OfflineRoomMediaLocalDataSource import hu.bbara.purefin.model.Episode -import hu.bbara.purefin.model.Genre import hu.bbara.purefin.model.Movie import hu.bbara.purefin.model.Series import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.map @@ -34,8 +32,6 @@ class OfflineLocalMediaRepository @Inject constructor( override val episodes: StateFlow> = localDataSource.episodesFlow .stateIn(scope, SharingStarted.Eagerly, emptyMap()) - override var genres: StateFlow> = MutableStateFlow(emptySet()) - override suspend fun getMovie(id: UUID): Flow { return movies.map { it[id] } }