Move unsupportedCollections to CollectionType
This commit is contained in:
parent
9a4f846023
commit
7f1a3f6f90
4 changed files with 12 additions and 18 deletions
|
@ -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(
|
||||||
|
|
|
@ -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
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
|
@ -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 } }
|
||||||
|
|
|
@ -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(
|
||||||
|
|
Loading…
Reference in a new issue