Move unsupportedCollections to CollectionType

This commit is contained in:
Jarne Demeulemeester 2022-01-01 21:45:57 +01:00
parent 9a4f846023
commit 7f1a3f6f90
No known key found for this signature in database
GPG key ID: 65C6006F2032DD14
4 changed files with 12 additions and 18 deletions

View file

@ -85,7 +85,6 @@ class HomeFragment : Fragment() {
private fun setupView() { private fun setupView() {
binding.refreshLayout.setOnRefreshListener { binding.refreshLayout.setOnRefreshListener {
viewModel.refreshData() viewModel.refreshData()
// binding.refreshLayout.isRefreshing = false
} }
binding.viewsRecyclerView.adapter = ViewListAdapter( binding.viewsRecyclerView.adapter = ViewListAdapter(

View file

@ -1,21 +1,16 @@
package dev.jdtech.jellyfin.models package dev.jdtech.jellyfin.models
import dev.jdtech.jellyfin.models.CollectionType.Books enum class CollectionType(val type: String) {
import dev.jdtech.jellyfin.models.CollectionType.HomeVideos
import dev.jdtech.jellyfin.models.CollectionType.LiveTv
import dev.jdtech.jellyfin.models.CollectionType.Music
import dev.jdtech.jellyfin.models.CollectionType.Playlists
import dev.jdtech.jellyfin.models.CollectionType.BoxSets
enum class CollectionType (val type: String) {
HomeVideos("homevideos"), HomeVideos("homevideos"),
Music("music"), Music("music"),
Playlists("playlists"), Playlists("playlists"),
Books("books"), Books("books"),
LiveTv("livetv"), LiveTv("livetv"),
BoxSets("boxsets") BoxSets("boxsets");
}
fun unsupportedCollections() = listOf( companion object {
HomeVideos, Music, Playlists, Books, LiveTv, BoxSets val unsupportedCollections = listOf(
) HomeVideos, Music, Playlists, Books, LiveTv, BoxSets
)
}
}

View file

@ -9,8 +9,8 @@ import dev.jdtech.jellyfin.R
import dev.jdtech.jellyfin.adapters.HomeItem import dev.jdtech.jellyfin.adapters.HomeItem
import dev.jdtech.jellyfin.adapters.HomeItem.Section import dev.jdtech.jellyfin.adapters.HomeItem.Section
import dev.jdtech.jellyfin.adapters.HomeItem.ViewItem import dev.jdtech.jellyfin.adapters.HomeItem.ViewItem
import dev.jdtech.jellyfin.models.CollectionType
import dev.jdtech.jellyfin.models.HomeSection import dev.jdtech.jellyfin.models.HomeSection
import dev.jdtech.jellyfin.models.unsupportedCollections
import dev.jdtech.jellyfin.repository.JellyfinRepository import dev.jdtech.jellyfin.repository.JellyfinRepository
import dev.jdtech.jellyfin.utils.syncPlaybackProgress import dev.jdtech.jellyfin.utils.syncPlaybackProgress
import dev.jdtech.jellyfin.utils.toView import dev.jdtech.jellyfin.utils.toView
@ -93,7 +93,7 @@ class HomeViewModel @Inject internal constructor(
private suspend fun loadViews() = repository private suspend fun loadViews() = repository
.getUserViews() .getUserViews()
.filter { view -> unsupportedCollections().none { it.type == view.collectionType } } .filter { view -> CollectionType.unsupportedCollections.none { it.type == view.collectionType } }
.map { view -> view to repository.getLatestMedia(view.id) } .map { view -> view to repository.getLatestMedia(view.id) }
.filter { (_, latest) -> latest.isNotEmpty() } .filter { (_, latest) -> latest.isNotEmpty() }
.map { (view, latest) -> view.toView().apply { items = latest } } .map { (view, latest) -> view.toView().apply { items = latest } }

View file

@ -2,7 +2,7 @@ package dev.jdtech.jellyfin.viewmodels
import androidx.lifecycle.* import androidx.lifecycle.*
import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.lifecycle.HiltViewModel
import dev.jdtech.jellyfin.models.unsupportedCollections import dev.jdtech.jellyfin.models.CollectionType
import dev.jdtech.jellyfin.repository.JellyfinRepository import dev.jdtech.jellyfin.repository.JellyfinRepository
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.collect
@ -39,7 +39,7 @@ constructor(
try { try {
val items = jellyfinRepository.getItems() val items = jellyfinRepository.getItems()
val collections = val collections =
items.filter { collection -> unsupportedCollections().none { it.type == collection.collectionType } } items.filter { collection -> CollectionType.unsupportedCollections.none { it.type == collection.collectionType } }
uiState.emit(UiState.Normal(collections)) uiState.emit(UiState.Normal(collections))
} catch (e: Exception) { } catch (e: Exception) {
uiState.emit( uiState.emit(