diff --git a/app/src/main/java/hu/bbara/purefin/app/HomePageViewModel.kt b/app/src/main/java/hu/bbara/purefin/app/HomePageViewModel.kt index a695c80..adf630f 100644 --- a/app/src/main/java/hu/bbara/purefin/app/HomePageViewModel.kt +++ b/app/src/main/java/hu/bbara/purefin/app/HomePageViewModel.kt @@ -79,7 +79,8 @@ class HomePageViewModel @Inject constructor( val mappedLibraries = libraries.map { LibraryItem( name = it.name!!, - id = it.id + id = it.id, + isEmpty = it.childCount!! == 0 ) } _libraries.value = mappedLibraries diff --git a/app/src/main/java/hu/bbara/purefin/app/home/HomeContent.kt b/app/src/main/java/hu/bbara/purefin/app/home/HomeContent.kt index 86d40b1..0431055 100644 --- a/app/src/main/java/hu/bbara/purefin/app/home/HomeContent.kt +++ b/app/src/main/java/hu/bbara/purefin/app/home/HomeContent.kt @@ -40,7 +40,7 @@ fun HomeContent( ) } items( - items = libraries, + items = libraries.filter { libraryContent[it.id]?.isEmpty() != true }, key = { it.id } ) { item -> LibraryPosterSection( diff --git a/app/src/main/java/hu/bbara/purefin/app/home/HomeModels.kt b/app/src/main/java/hu/bbara/purefin/app/home/HomeModels.kt index f19d366..ea080a0 100644 --- a/app/src/main/java/hu/bbara/purefin/app/home/HomeModels.kt +++ b/app/src/main/java/hu/bbara/purefin/app/home/HomeModels.kt @@ -14,7 +14,8 @@ data class ContinueWatchingItem( data class LibraryItem( val name: String, - val id: UUID + val id: UUID, + val isEmpty: Boolean ) data class PosterItem( diff --git a/app/src/main/java/hu/bbara/purefin/client/JellyfinApiClient.kt b/app/src/main/java/hu/bbara/purefin/client/JellyfinApiClient.kt index cd2ae05..6c21801 100644 --- a/app/src/main/java/hu/bbara/purefin/client/JellyfinApiClient.kt +++ b/app/src/main/java/hu/bbara/purefin/client/JellyfinApiClient.kt @@ -8,9 +8,9 @@ import kotlinx.coroutines.flow.first import org.jellyfin.sdk.api.client.Response import org.jellyfin.sdk.api.client.extensions.authenticateUserByName import org.jellyfin.sdk.api.client.extensions.itemsApi -import org.jellyfin.sdk.api.client.extensions.libraryApi import org.jellyfin.sdk.api.client.extensions.userApi import org.jellyfin.sdk.api.client.extensions.userLibraryApi +import org.jellyfin.sdk.api.client.extensions.userViewsApi import org.jellyfin.sdk.createJellyfin import org.jellyfin.sdk.model.ClientInfo import org.jellyfin.sdk.model.api.BaseItemDto @@ -92,7 +92,10 @@ class JellyfinApiClient @Inject constructor( if (!ensureConfigured()) { return emptyList() } - val response = api.libraryApi.getMediaFolders(isHidden = false) + val response = api.userViewsApi.getUserViews( + userId = getUserId(), + includeHidden = false + ) Log.d("getLibraries response: {}", response.content.toString()) return response.content.items }