From 85c37ae8424f34c4d3e601eaa85f1389cf4ee1cb Mon Sep 17 00:00:00 2001 From: vfsfitvnm Date: Sat, 25 Jun 2022 18:39:43 +0200 Subject: [PATCH] Make PlayerBottomSheet stable --- .../vfsfitvnm/vimusic/ui/views/CurrentPlaylistView.kt | 10 ++++++---- .../it/vfsfitvnm/vimusic/ui/views/PlayerBottomSheet.kt | 6 ++++-- .../kotlin/it/vfsfitvnm/vimusic/ui/views/PlayerView.kt | 1 - 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/views/CurrentPlaylistView.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/views/CurrentPlaylistView.kt index e8fea14..1dc9082 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/views/CurrentPlaylistView.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/views/CurrentPlaylistView.kt @@ -12,7 +12,10 @@ import androidx.compose.foundation.layout.size import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.lazy.rememberLazyListState -import androidx.compose.runtime.* +import androidx.compose.runtime.Composable +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color @@ -24,10 +27,9 @@ import androidx.compose.ui.platform.LocalHapticFeedback import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp import androidx.media3.common.Player -import com.valentinilk.shimmer.ShimmerBounds -import com.valentinilk.shimmer.rememberShimmer import it.vfsfitvnm.reordering.rememberReorderingState import it.vfsfitvnm.reordering.verticalDragAfterLongPressToReorder +import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder import it.vfsfitvnm.vimusic.R import it.vfsfitvnm.vimusic.enums.ThumbnailRoundness import it.vfsfitvnm.vimusic.ui.components.BottomSheetState @@ -41,12 +43,12 @@ import it.vfsfitvnm.vimusic.utils.PlayerState @ExperimentalAnimationApi @Composable fun CurrentPlaylistView( - player: Player?, playerState: PlayerState?, layoutState: BottomSheetState, onGlobalRouteEmitted: () -> Unit, modifier: Modifier = Modifier, ) { + val player = LocalPlayerServiceBinder.current?.player val hapticFeedback = LocalHapticFeedback.current val density = LocalDensity.current val colorPalette = LocalColorPalette.current diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/views/PlayerBottomSheet.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/views/PlayerBottomSheet.kt index 82ed358..50a9a1d 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/views/PlayerBottomSheet.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/views/PlayerBottomSheet.kt @@ -26,6 +26,7 @@ import it.vfsfitvnm.route.RouteHandler import it.vfsfitvnm.route.empty import it.vfsfitvnm.route.rememberRoute import it.vfsfitvnm.vimusic.Database +import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder import it.vfsfitvnm.vimusic.models.Song import it.vfsfitvnm.vimusic.ui.components.BottomSheet import it.vfsfitvnm.vimusic.ui.components.BottomSheetState @@ -45,7 +46,6 @@ import kotlinx.coroutines.withContext @ExperimentalAnimationApi @Composable fun PlayerBottomSheet( - player: Player?, playerState: PlayerState?, layoutState: BottomSheetState, song: Song?, @@ -55,6 +55,7 @@ fun PlayerBottomSheet( val colorPalette = LocalColorPalette.current val typography = LocalTypography.current + val coroutineScope = rememberCoroutineScope() val lyricsRoute = rememberLyricsRoute() @@ -175,6 +176,8 @@ fun PlayerBottomSheet( .fillMaxSize() ) { lyricsRoute { + val player = LocalPlayerServiceBinder.current?.player + val context = LocalContext.current LyricsView( @@ -238,7 +241,6 @@ fun PlayerBottomSheet( host { CurrentPlaylistView( - player = player, playerState = playerState, layoutState = layoutState, onGlobalRouteEmitted = onGlobalRouteEmitted, diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/views/PlayerView.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/views/PlayerView.kt index 0a8fd5f..c4addd7 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/views/PlayerView.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/views/PlayerView.kt @@ -624,7 +624,6 @@ fun PlayerView( } PlayerBottomSheet( - player = player, playerState = playerState, layoutState = rememberBottomSheetState(64.dp, layoutState.upperBound - 128.dp), onGlobalRouteEmitted = layoutState.collapse,