Remove haptic feedback when reordering songs
This commit is contained in:
@@ -44,7 +44,6 @@ import androidx.compose.runtime.staticCompositionLocalOf
|
|||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.platform.LocalHapticFeedback
|
|
||||||
import androidx.compose.ui.unit.Dp
|
import androidx.compose.ui.unit.Dp
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.core.view.WindowCompat
|
import androidx.core.view.WindowCompat
|
||||||
@@ -75,7 +74,6 @@ import it.vfsfitvnm.vimusic.utils.getEnum
|
|||||||
import it.vfsfitvnm.vimusic.utils.intent
|
import it.vfsfitvnm.vimusic.utils.intent
|
||||||
import it.vfsfitvnm.vimusic.utils.listener
|
import it.vfsfitvnm.vimusic.utils.listener
|
||||||
import it.vfsfitvnm.vimusic.utils.preferences
|
import it.vfsfitvnm.vimusic.utils.preferences
|
||||||
import it.vfsfitvnm.vimusic.utils.rememberHapticFeedback
|
|
||||||
import it.vfsfitvnm.vimusic.utils.thumbnailRoundnessKey
|
import it.vfsfitvnm.vimusic.utils.thumbnailRoundnessKey
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
@@ -301,7 +299,6 @@ class MainActivity : ComponentActivity() {
|
|||||||
LocalShimmerTheme provides shimmerTheme,
|
LocalShimmerTheme provides shimmerTheme,
|
||||||
LocalPlayerServiceBinder provides binder,
|
LocalPlayerServiceBinder provides binder,
|
||||||
LocalMenuState provides rememberMenuState(),
|
LocalMenuState provides rememberMenuState(),
|
||||||
LocalHapticFeedback provides rememberHapticFeedback(),
|
|
||||||
LocalPlayerAwarePaddingValues provides playerAwarePaddingValues
|
LocalPlayerAwarePaddingValues provides playerAwarePaddingValues
|
||||||
) {
|
) {
|
||||||
when (val uri = uri) {
|
when (val uri = uri) {
|
||||||
|
|||||||
@@ -26,8 +26,6 @@ import androidx.compose.runtime.setValue
|
|||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.ColorFilter
|
import androidx.compose.ui.graphics.ColorFilter
|
||||||
import androidx.compose.ui.hapticfeedback.HapticFeedbackType
|
|
||||||
import androidx.compose.ui.platform.LocalHapticFeedback
|
|
||||||
import androidx.compose.ui.res.painterResource
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.zIndex
|
import androidx.compose.ui.zIndex
|
||||||
@@ -80,22 +78,15 @@ fun LocalPlaylistScreen(playlistId: Long) {
|
|||||||
globalRoutes()
|
globalRoutes()
|
||||||
|
|
||||||
host {
|
host {
|
||||||
val hapticFeedback = LocalHapticFeedback.current
|
|
||||||
val menuState = LocalMenuState.current
|
|
||||||
|
|
||||||
val binder = LocalPlayerServiceBinder.current
|
|
||||||
val (colorPalette, typography) = LocalAppearance.current
|
val (colorPalette, typography) = LocalAppearance.current
|
||||||
|
val menuState = LocalMenuState.current
|
||||||
|
val binder = LocalPlayerServiceBinder.current
|
||||||
|
|
||||||
val thumbnailSize = Dimensions.thumbnails.song.px
|
val thumbnailSize = Dimensions.thumbnails.song.px
|
||||||
|
|
||||||
val reorderingState = rememberReorderingState(
|
val reorderingState = rememberReorderingState(
|
||||||
lazyListState = lazyListState,
|
lazyListState = lazyListState,
|
||||||
key = playlistWithSongs.songs,
|
key = playlistWithSongs.songs,
|
||||||
onDragStart = {
|
|
||||||
hapticFeedback.performHapticFeedback(
|
|
||||||
HapticFeedbackType.LongPress
|
|
||||||
)
|
|
||||||
},
|
|
||||||
onDragEnd = { fromIndex, toIndex ->
|
onDragEnd = { fromIndex, toIndex ->
|
||||||
transaction {
|
transaction {
|
||||||
if (fromIndex > toIndex) {
|
if (fromIndex > toIndex) {
|
||||||
|
|||||||
@@ -33,9 +33,7 @@ import androidx.compose.ui.Modifier
|
|||||||
import androidx.compose.ui.draw.alpha
|
import androidx.compose.ui.draw.alpha
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.graphics.ColorFilter
|
import androidx.compose.ui.graphics.ColorFilter
|
||||||
import androidx.compose.ui.hapticfeedback.HapticFeedbackType
|
|
||||||
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
||||||
import androidx.compose.ui.platform.LocalHapticFeedback
|
|
||||||
import androidx.compose.ui.platform.LocalLayoutDirection
|
import androidx.compose.ui.platform.LocalLayoutDirection
|
||||||
import androidx.compose.ui.res.painterResource
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
@@ -70,9 +68,8 @@ fun CurrentPlaylistView(
|
|||||||
onGlobalRouteEmitted: () -> Unit,
|
onGlobalRouteEmitted: () -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
val binder = LocalPlayerServiceBinder.current
|
|
||||||
val hapticFeedback = LocalHapticFeedback.current
|
|
||||||
val (colorPalette, typography) = LocalAppearance.current
|
val (colorPalette, typography) = LocalAppearance.current
|
||||||
|
val binder = LocalPlayerServiceBinder.current
|
||||||
val layoutDirection = LocalLayoutDirection.current
|
val layoutDirection = LocalLayoutDirection.current
|
||||||
|
|
||||||
binder?.player ?: return
|
binder?.player ?: return
|
||||||
@@ -86,11 +83,6 @@ fun CurrentPlaylistView(
|
|||||||
val reorderingState = rememberReorderingState(
|
val reorderingState = rememberReorderingState(
|
||||||
lazyListState = rememberLazyListState(initialFirstVisibleItemIndex = mediaItemIndex),
|
lazyListState = rememberLazyListState(initialFirstVisibleItemIndex = mediaItemIndex),
|
||||||
key = windows,
|
key = windows,
|
||||||
onDragStart = {
|
|
||||||
hapticFeedback.performHapticFeedback(
|
|
||||||
HapticFeedbackType.LongPress
|
|
||||||
)
|
|
||||||
},
|
|
||||||
onDragEnd = { fromIndex, toIndex ->
|
onDragEnd = { fromIndex, toIndex ->
|
||||||
binder.player.moveMediaItem(fromIndex, toIndex)
|
binder.player.moveMediaItem(fromIndex, toIndex)
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
package it.vfsfitvnm.vimusic.utils
|
|
||||||
|
|
||||||
import android.view.HapticFeedbackConstants
|
|
||||||
import androidx.compose.runtime.Composable
|
|
||||||
import androidx.compose.runtime.remember
|
|
||||||
import androidx.compose.ui.hapticfeedback.HapticFeedback
|
|
||||||
import androidx.compose.ui.hapticfeedback.HapticFeedbackType
|
|
||||||
import androidx.compose.ui.platform.LocalView
|
|
||||||
|
|
||||||
@Composable
|
|
||||||
fun rememberHapticFeedback(): HapticFeedback {
|
|
||||||
val view = LocalView.current
|
|
||||||
|
|
||||||
return remember {
|
|
||||||
object : HapticFeedback {
|
|
||||||
override fun performHapticFeedback(hapticFeedbackType: HapticFeedbackType) {
|
|
||||||
view.performHapticFeedback(
|
|
||||||
HapticFeedbackConstants.LONG_PRESS,
|
|
||||||
HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user