diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/detail/music/NowPlayingOverlay.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/detail/music/NowPlayingOverlay.kt index 6f69411c..aa2b63b7 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/detail/music/NowPlayingOverlay.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/detail/music/NowPlayingOverlay.kt @@ -22,7 +22,7 @@ import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Delete +import androidx.compose.material.icons.filled.MoreVert import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.derivedStateOf @@ -68,7 +68,7 @@ fun NowPlayingOverlay( onLongClickSong: (Int, AudioItem) -> Unit, onClickMore: () -> Unit, onMoveQueue: (Int, MoveDirection) -> Unit, - onClickRemove: (Int, AudioItem) -> Unit, + onClickMoreItem: (Int, AudioItem) -> Unit, modifier: Modifier = Modifier, ) { val scope = rememberCoroutineScope() @@ -195,13 +195,13 @@ fun NowPlayingOverlay( onClick = { onMoveQueue.invoke(index, MoveDirection.DOWN) }, ) Button( - onClick = { onClickRemove.invoke(index, song) }, + onClick = { onClickMoreItem.invoke(index, song) }, enabled = true, modifier = Modifier.size(32.dp), ) { Icon( - imageVector = Icons.Default.Delete, - contentDescription = stringResource(R.string.remove_from_queue), + imageVector = Icons.Default.MoreVert, + contentDescription = stringResource(R.string.more), ) } } diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/detail/music/NowPlayingPage.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/detail/music/NowPlayingPage.kt index 244a7a4e..9811c5ae 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/detail/music/NowPlayingPage.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/detail/music/NowPlayingPage.kt @@ -39,6 +39,7 @@ import androidx.tv.material3.MaterialTheme import androidx.tv.material3.Text import coil3.compose.AsyncImage import com.github.damontecres.wholphin.R +import com.github.damontecres.wholphin.data.model.AudioItem import com.github.damontecres.wholphin.preferences.AppPreferences import com.github.damontecres.wholphin.preferences.UserPreferences import com.github.damontecres.wholphin.services.rememberQueue @@ -184,6 +185,24 @@ fun NowPlayingPage( } } } + val showContextForItem = + remember { + { fromLongClick: Boolean, index: Int, song: AudioItem -> + itemMoreDialog = + DialogParams( + title = song.title ?: "", + fromLongClick = fromLongClick, + items = + buildMoreDialogForMusicQueue( + context = context, + actions = actions, + item = song, + index = index, + canRemove = true, + ), + ) + } + } BackHandler(controllerViewState.controlsVisible) { controllerViewState.hideControls() @@ -205,22 +224,8 @@ fun NowPlayingPage( onMoveQueue = { index, direction -> viewModel.moveQueue(index, direction) }, onClickMore = { showMoreDialog = true }, onClickSong = { index, _ -> viewModel.play(index) }, - onClickRemove = { index, _ -> viewModel.removeFromQueue(index) }, - onLongClickSong = { index, song -> - itemMoreDialog = - DialogParams( - title = song.title ?: "", - fromLongClick = true, - items = - buildMoreDialogForMusicQueue( - context = context, - actions = actions, - item = song, - index = index, - canRemove = true, - ), - ) - }, + onClickMoreItem = { index, song -> showContextForItem.invoke(false, index, song) }, + onLongClickSong = { index, song -> showContextForItem.invoke(true, index, song) }, modifier = Modifier .background(AppColors.TransparentBlack50)