Tweak Database class
This commit is contained in:
@@ -210,8 +210,10 @@ fun PlayerBottomSheet(
|
||||
lyrics ?: ""
|
||||
}.map { lyrics ->
|
||||
query {
|
||||
(song ?: mediaItem.let(Database::insert)).let {
|
||||
Database.update(it.copy(lyrics = lyrics))
|
||||
song?.let {
|
||||
Database.update(song.copy(lyrics = lyrics))
|
||||
} ?: Database.insert(mediaItem) { song ->
|
||||
song.copy(lyrics = lyrics)
|
||||
}
|
||||
}
|
||||
lyrics
|
||||
@@ -234,8 +236,12 @@ fun PlayerBottomSheet(
|
||||
onLyricsUpdate = { lyrics ->
|
||||
val mediaItem = player?.currentMediaItem
|
||||
query {
|
||||
(song ?: mediaItem?.let(Database::insert))?.let {
|
||||
Database.update(it.copy(lyrics = lyrics))
|
||||
song?.let {
|
||||
Database.update(song.copy(lyrics = lyrics))
|
||||
} ?: mediaItem?.let {
|
||||
Database.insert(mediaItem) { song ->
|
||||
song.copy(lyrics = lyrics)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,6 +40,7 @@ import it.vfsfitvnm.vimusic.Database
|
||||
import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder
|
||||
import it.vfsfitvnm.vimusic.R
|
||||
import it.vfsfitvnm.vimusic.enums.ThumbnailRoundness
|
||||
import it.vfsfitvnm.vimusic.models.Song
|
||||
import it.vfsfitvnm.vimusic.query
|
||||
import it.vfsfitvnm.vimusic.ui.components.*
|
||||
import it.vfsfitvnm.vimusic.ui.components.themed.QueuedMediaItemMenu
|
||||
@@ -181,7 +182,7 @@ fun PlayerView(
|
||||
}
|
||||
) {
|
||||
val song by remember(playerState.mediaItem?.mediaId) {
|
||||
playerState.mediaItem?.mediaId?.let(Database::songFlow)?.distinctUntilChanged()
|
||||
playerState.mediaItem?.mediaId?.let(Database::song)?.distinctUntilChanged()
|
||||
?: flowOf(
|
||||
null
|
||||
)
|
||||
@@ -550,8 +551,10 @@ fun PlayerView(
|
||||
modifier = Modifier
|
||||
.clickable {
|
||||
query {
|
||||
(song ?: playerState.mediaItem?.let(Database::insert))?.let {
|
||||
Database.update(it.toggleLike())
|
||||
song?.let { song ->
|
||||
Database.update(song.toggleLike())
|
||||
} ?: playerState.mediaItem?.let { mediaItem ->
|
||||
Database.insert(mediaItem, Song::toggleLike)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user