ananas/data/src/main/java/dev/jdtech/jellyfin/models/FindroidFolder.kt
Nelson Wu 9cd3295d2d
feat: mixed libraries (#628)
* mixed collection

* Mixed libraries to show up in "Latest"

Co-authored-by: Freya Winters <freya@justgamingtld.nl>

* Do not recurse if folders are shown

* Added folder navigation for tv

* Removed assumption that folder == mixed

* refactor: add default values to `FindroidFolder`

* fix: add chapters to findroidfolder

---------

Co-authored-by: Freya Winters <freya@justgamingtld.nl>
Co-authored-by: Jarne Demeulemeester <jarnedemeulemeester@gmail.com>
2024-02-24 17:48:03 +01:00

35 lines
1.2 KiB
Kotlin

package dev.jdtech.jellyfin.models
import dev.jdtech.jellyfin.repository.JellyfinRepository
import org.jellyfin.sdk.model.api.BaseItemDto
import java.util.UUID
data class FindroidFolder(
override val id: UUID,
override val name: String,
override val originalTitle: String? = null,
override val overview: String = "",
override val played: Boolean,
override val favorite: Boolean,
override val canPlay: Boolean = false,
override val canDownload: Boolean = false,
override val sources: List<FindroidSource> = emptyList(),
override val runtimeTicks: Long = 0L,
override val playbackPositionTicks: Long = 0L,
override val unplayedItemCount: Int?,
override val images: FindroidImages,
override val chapters: List<FindroidChapter>? = null,
) : FindroidItem
fun BaseItemDto.toFindroidFolder(
jellyfinRepository: JellyfinRepository,
): FindroidFolder {
return FindroidFolder(
id = id,
name = name.orEmpty(),
played = userData?.played ?: false,
favorite = userData?.isFavorite ?: false,
unplayedItemCount = userData?.unplayedItemCount,
images = toFindroidImages(jellyfinRepository),
)
}