Refactor preferences to avoid a global state when it's not necessary

This commit is contained in:
vfsfitvnm
2022-07-16 13:51:38 +02:00
parent aa8e065412
commit 1e719b33ed
38 changed files with 415 additions and 452 deletions

View File

@@ -36,10 +36,7 @@ import it.vfsfitvnm.vimusic.ui.components.BottomSheetState
import it.vfsfitvnm.vimusic.ui.components.MusicBars
import it.vfsfitvnm.vimusic.ui.components.themed.QueuedMediaItemMenu
import it.vfsfitvnm.vimusic.ui.screens.SmallSongItemShimmer
import it.vfsfitvnm.vimusic.ui.styling.Dimensions
import it.vfsfitvnm.vimusic.ui.styling.LightColorPalette
import it.vfsfitvnm.vimusic.ui.styling.LocalColorPalette
import it.vfsfitvnm.vimusic.ui.styling.px
import it.vfsfitvnm.vimusic.ui.styling.*
import it.vfsfitvnm.vimusic.utils.PlayerState
@@ -53,7 +50,7 @@ fun CurrentPlaylistView(
) {
val binder = LocalPlayerServiceBinder.current
val hapticFeedback = LocalHapticFeedback.current
val colorPalette = LocalColorPalette.current
val (colorPalette) = LocalAppearance.current
val thumbnailSize = Dimensions.thumbnails.song.px

View File

@@ -19,7 +19,7 @@ import it.vfsfitvnm.vimusic.R
import it.vfsfitvnm.vimusic.ui.components.themed.TextCard
import it.vfsfitvnm.vimusic.ui.components.themed.TextFieldDialog
import it.vfsfitvnm.vimusic.ui.components.themed.TextPlaceholder
import it.vfsfitvnm.vimusic.ui.styling.LocalTypography
import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance
import it.vfsfitvnm.vimusic.utils.center
import it.vfsfitvnm.vimusic.utils.secondary
@@ -32,7 +32,7 @@ fun LyricsView(
onLyricsUpdate: (String) -> Unit,
nestedScrollConnectionProvider: () -> NestedScrollConnection,
) {
val typography = LocalTypography.current
val (_, typography) = LocalAppearance.current
var isEditingLyrics by remember {
mutableStateOf(false)

View File

@@ -28,8 +28,7 @@ import it.vfsfitvnm.vimusic.ui.components.BottomSheet
import it.vfsfitvnm.vimusic.ui.components.BottomSheetState
import it.vfsfitvnm.vimusic.ui.components.HorizontalTabPager
import it.vfsfitvnm.vimusic.ui.components.rememberTabPagerState
import it.vfsfitvnm.vimusic.ui.styling.LocalColorPalette
import it.vfsfitvnm.vimusic.ui.styling.LocalTypography
import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance
import it.vfsfitvnm.vimusic.utils.PlayerState
import it.vfsfitvnm.vimusic.utils.center
import it.vfsfitvnm.vimusic.utils.color
@@ -50,8 +49,7 @@ fun PlayerBottomSheet(
onGlobalRouteEmitted: () -> Unit,
modifier: Modifier = Modifier,
) {
val colorPalette = LocalColorPalette.current
val typography = LocalTypography.current
val (colorPalette, typography) = LocalAppearance.current
val coroutineScope = rememberCoroutineScope()

View File

@@ -63,8 +63,7 @@ fun PlayerView(
) {
val menuState = LocalMenuState.current
val colorPalette = LocalColorPalette.current
val typography = LocalTypography.current
val (colorPalette, typography) = LocalAppearance.current
val binder = LocalPlayerServiceBinder.current
val context = LocalContext.current
val configuration = LocalConfiguration.current
@@ -318,7 +317,7 @@ private fun Thumbnail(
song: Song?,
modifier: Modifier = Modifier
) {
val typography = LocalTypography.current
val (_, typography) = LocalAppearance.current
val context = LocalContext.current
val binder = LocalPlayerServiceBinder.current
val player = binder?.player ?: return
@@ -527,9 +526,7 @@ private fun Controls(
song: Song?,
modifier: Modifier = Modifier
) {
val typography = LocalTypography.current
val colorPalette = LocalColorPalette.current
val preferences = LocalPreferences.current
val (colorPalette, typography) = LocalAppearance.current
val binder = LocalPlayerServiceBinder.current
val player = binder?.player ?: return
@@ -730,9 +727,8 @@ private fun Controls(
player.repeatMode
.plus(2)
.mod(3)
.let { repeatMode ->
player.repeatMode = repeatMode
preferences.repeatMode = repeatMode
.let {
player.repeatMode = it
}
}
.weight(1f)

View File

@@ -23,8 +23,7 @@ import coil.compose.AsyncImage
import it.vfsfitvnm.vimusic.Database
import it.vfsfitvnm.vimusic.models.PlaylistPreview
import it.vfsfitvnm.vimusic.ui.styling.Dimensions
import it.vfsfitvnm.vimusic.ui.styling.LocalColorPalette
import it.vfsfitvnm.vimusic.ui.styling.LocalTypography
import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance
import it.vfsfitvnm.vimusic.utils.color
import it.vfsfitvnm.vimusic.utils.semiBold
import it.vfsfitvnm.vimusic.utils.thumbnail
@@ -38,8 +37,7 @@ fun PlaylistPreviewItem(
modifier: Modifier = Modifier,
thumbnailSize: Dp = Dimensions.thumbnails.song,
) {
val colorPalette = LocalColorPalette.current
val typography = LocalTypography.current
val (colorPalette, typography) = LocalAppearance.current
val density = LocalDensity.current
val thumbnailSizePx = density.run {

View File

@@ -26,8 +26,7 @@ import it.vfsfitvnm.vimusic.enums.ThumbnailRoundness
import it.vfsfitvnm.vimusic.models.DetailedSong
import it.vfsfitvnm.vimusic.ui.components.LocalMenuState
import it.vfsfitvnm.vimusic.ui.styling.Dimensions
import it.vfsfitvnm.vimusic.ui.styling.LocalColorPalette
import it.vfsfitvnm.vimusic.ui.styling.LocalTypography
import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance
import it.vfsfitvnm.vimusic.utils.secondary
import it.vfsfitvnm.vimusic.utils.semiBold
import it.vfsfitvnm.vimusic.utils.thumbnail
@@ -150,8 +149,7 @@ fun SongItem(
trailingContent: (@Composable () -> Unit)? = null
) {
val menuState = LocalMenuState.current
val colorPalette = LocalColorPalette.current
val typography = LocalTypography.current
val (colorPalette, typography) = LocalAppearance.current
Row(
verticalAlignment = Alignment.CenterVertically,