Tweak code

This commit is contained in:
vfsfitvnm 2022-07-29 18:29:37 +02:00
parent 9b87bae700
commit 4aa94bcc7c
4 changed files with 13 additions and 8 deletions

View file

@ -2,5 +2,5 @@ package it.vfsfitvnm.vimusic.enums
enum class BuiltInPlaylist {
Favorites,
Cached
Offline
}

View file

@ -71,7 +71,7 @@ fun BuiltInPlaylistScreen(builtInPlaylist: BuiltInPlaylist) {
val songs by remember(binder?.cache, builtInPlaylist) {
when (builtInPlaylist) {
BuiltInPlaylist.Favorites -> Database.favorites()
BuiltInPlaylist.Cached -> Database.songsWithContentLength().map { songs ->
BuiltInPlaylist.Offline -> Database.songsWithContentLength().map { songs ->
songs.filter { song ->
song.contentLength?.let {
binder?.cache?.isCached(song.song.id, 0, song.contentLength)
@ -114,7 +114,7 @@ fun BuiltInPlaylistScreen(builtInPlaylist: BuiltInPlaylist) {
BasicText(
text = when (builtInPlaylist) {
BuiltInPlaylist.Favorites -> "Favorites"
BuiltInPlaylist.Cached -> "Offline"
BuiltInPlaylist.Offline -> "Offline"
},
style = typography.m.semiBold
)
@ -196,7 +196,7 @@ fun BuiltInPlaylistScreen(builtInPlaylist: BuiltInPlaylist) {
menuContent = {
when (builtInPlaylist) {
BuiltInPlaylist.Favorites -> InFavoritesMediaItemMenu(song = song)
BuiltInPlaylist.Cached -> InHistoryMediaItemMenu(song = song)
BuiltInPlaylist.Offline -> InHistoryMediaItemMenu(song = song)
}
}
)

View file

@ -492,7 +492,7 @@ fun HomeScreen() {
.clickable(
indication = rememberRipple(bounded = true),
interactionSource = remember { MutableInteractionSource() },
onClick = { builtInPlaylistRoute(BuiltInPlaylist.Cached) }
onClick = { builtInPlaylistRoute(BuiltInPlaylist.Offline) }
)
)
}

View file

@ -37,6 +37,7 @@ import it.vfsfitvnm.vimusic.utils.semiBold
import it.vfsfitvnm.vimusic.utils.thumbnail
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.map
@Composable
fun PlaylistPreviewItem(
@ -52,7 +53,11 @@ fun PlaylistPreviewItem(
}
val thumbnails by remember(playlistPreview.playlist.id) {
Database.playlistThumbnailUrls(playlistPreview.playlist.id).distinctUntilChanged()
Database.playlistThumbnailUrls(playlistPreview.playlist.id).distinctUntilChanged().map {
it.map { url ->
url.thumbnail(thumbnailSizePx)
}
}
}.collectAsState(initial = emptyList(), context = Dispatchers.IO)
PlaylistItem(
@ -62,7 +67,7 @@ fun PlaylistPreviewItem(
imageContent = {
if (thumbnails.toSet().size == 1) {
AsyncImage(
model = thumbnails.first().thumbnail(thumbnailSizePx),
model = thumbnails.first(),
contentDescription = null,
contentScale = ContentScale.Crop,
modifier = Modifier
@ -81,7 +86,7 @@ fun PlaylistPreviewItem(
Alignment.BottomEnd
).forEachIndexed { index, alignment ->
AsyncImage(
model = thumbnails.getOrNull(index).thumbnail(thumbnailSizePx),
model = thumbnails.getOrNull(index),
contentDescription = null,
contentScale = ContentScale.Crop,
modifier = Modifier