refactor: remove unused StorageViewModel and StorageItem

This commit is contained in:
Jarne Demeulemeester 2023-05-13 21:49:48 +02:00
parent b816a2d460
commit 219d0c033a
No known key found for this signature in database
GPG key ID: 1E5C6AFBD622E9F5
2 changed files with 0 additions and 118 deletions

View file

@ -1,106 +0,0 @@
package dev.jdtech.jellyfin.viewmodels
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import dev.jdtech.jellyfin.database.ServerDatabaseDao
import dev.jdtech.jellyfin.models.Server
import dev.jdtech.jellyfin.models.StorageItem
import dev.jdtech.jellyfin.models.toFindroidEpisode
import dev.jdtech.jellyfin.models.toFindroidMovie
import dev.jdtech.jellyfin.models.toFindroidSeason
import dev.jdtech.jellyfin.models.toFindroidShow
import dev.jdtech.jellyfin.repository.JellyfinRepository
import java.io.File
import javax.inject.Inject
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.launch
import timber.log.Timber
@HiltViewModel
class StorageViewModel
@Inject
constructor(
private val database: ServerDatabaseDao,
private val repository: JellyfinRepository,
) : ViewModel() {
private val _serversState = MutableStateFlow<List<Server>>(emptyList())
val serversState = _serversState.asStateFlow()
private val _itemsState = MutableStateFlow<List<StorageItem>>(emptyList())
val itemsState = _itemsState.asStateFlow()
init {
loadServers()
}
private fun loadServers() {
viewModelScope.launch {
try {
val servers = database.getAllServersSync()
_serversState.emit(servers)
} catch (e: Exception) {
Timber.e(e)
}
}
}
fun loadItems(serverId: String) {
viewModelScope.launch {
try {
val items = mutableListOf<StorageItem>()
database.getMoviesByServerId(serverId)
.map { it.toFindroidMovie(database, repository.getUserId()) }
.map { movie ->
items.add(
StorageItem(
item = movie,
introTimestamps = database.getIntro(movie.id) != null,
trickPlayData = database.getTrickPlayManifest(movie.id) != null,
size = File(movie.sources.first().path).length().div(1000000)
)
)
}
database.getShowsByServerId(serverId)
.map { it.toFindroidShow(database, repository.getUserId()) }
.map { show ->
items.add(
StorageItem(
item = show,
)
)
database.getSeasonsByShowId(show.id)
.map { it.toFindroidSeason(database, repository.getUserId()) }
.map { season ->
items.add(
StorageItem(
item = season,
indent = 1,
)
)
database.getEpisodesBySeasonId(season.id)
.map { it.toFindroidEpisode(database, repository.getUserId()) }
.map { episode ->
items.add(
StorageItem(
item = episode,
introTimestamps = database.getIntro(episode.id) != null,
trickPlayData = database.getTrickPlayManifest(episode.id) != null,
size = File(episode.sources.first().path).length()
.div(1000000),
indent = 2,
)
)
}
}
}
_itemsState.emit(items)
} catch (e: Exception) {
Timber.e(e)
}
}
}
}

View file

@ -1,12 +0,0 @@
package dev.jdtech.jellyfin.models
data class StorageItem(
val item: FindroidItem,
val size: Long? = null,
val externalSubtitles: Boolean = false,
val externalSubtitlesSize: Long? = null,
val trickPlayData: Boolean = false,
val trickPlayDataSize: Long? = null,
val introTimestamps: Boolean = false,
val indent: Int = 0,
)