ChapterNavigator: Fix haptic feedback (#9458)
(cherry picked from commit fce9cb820cdcba79f568e79ecb4005b512cf1d78)
This commit is contained in:
parent
8b62c58c56
commit
277c19eb36
@ -1,6 +1,8 @@
|
|||||||
package eu.kanade.presentation.reader
|
package eu.kanade.presentation.reader
|
||||||
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
|
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||||
|
import androidx.compose.foundation.interaction.collectIsDraggedAsState
|
||||||
import androidx.compose.foundation.isSystemInDarkTheme
|
import androidx.compose.foundation.isSystemInDarkTheme
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
@ -21,6 +23,9 @@ import androidx.compose.material3.Text
|
|||||||
import androidx.compose.material3.surfaceColorAtElevation
|
import androidx.compose.material3.surfaceColorAtElevation
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.runtime.LaunchedEffect
|
||||||
|
import androidx.compose.runtime.getValue
|
||||||
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
@ -115,6 +120,13 @@ fun ChapterNavigator(
|
|||||||
Text(text = currentPageText)
|
Text(text = currentPageText)
|
||||||
// SY <--
|
// SY <--
|
||||||
|
|
||||||
|
val interactionSource = remember { MutableInteractionSource() }
|
||||||
|
val sliderDragged by interactionSource.collectIsDraggedAsState()
|
||||||
|
LaunchedEffect(currentPage) {
|
||||||
|
if (sliderDragged) {
|
||||||
|
haptic.performHapticFeedback(HapticFeedbackType.TextHandleMove)
|
||||||
|
}
|
||||||
|
}
|
||||||
Slider(
|
Slider(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.weight(1f)
|
.weight(1f)
|
||||||
@ -124,8 +136,8 @@ fun ChapterNavigator(
|
|||||||
steps = totalPages,
|
steps = totalPages,
|
||||||
onValueChange = {
|
onValueChange = {
|
||||||
onSliderValueChange(it.toInt() - 1)
|
onSliderValueChange(it.toInt() - 1)
|
||||||
haptic.performHapticFeedback(HapticFeedbackType.TextHandleMove)
|
|
||||||
},
|
},
|
||||||
|
interactionSource = interactionSource,
|
||||||
)
|
)
|
||||||
|
|
||||||
Text(text = totalPages.toString())
|
Text(text = totalPages.toString())
|
||||||
@ -210,6 +222,13 @@ fun ChapterNavigatorVert(
|
|||||||
Text(text = currentPageText)
|
Text(text = currentPageText)
|
||||||
// SY <--
|
// SY <--
|
||||||
|
|
||||||
|
val interactionSource = remember { MutableInteractionSource() }
|
||||||
|
val sliderDragged by interactionSource.collectIsDraggedAsState()
|
||||||
|
LaunchedEffect(currentPage) {
|
||||||
|
if (sliderDragged) {
|
||||||
|
haptic.performHapticFeedback(HapticFeedbackType.TextHandleMove)
|
||||||
|
}
|
||||||
|
}
|
||||||
Slider(
|
Slider(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.padding(vertical = 8.dp)
|
.padding(vertical = 8.dp)
|
||||||
@ -236,8 +255,8 @@ fun ChapterNavigatorVert(
|
|||||||
steps = totalPages,
|
steps = totalPages,
|
||||||
onValueChange = {
|
onValueChange = {
|
||||||
onSliderValueChange(it.toInt() - 1)
|
onSliderValueChange(it.toInt() - 1)
|
||||||
haptic.performHapticFeedback(HapticFeedbackType.TextHandleMove)
|
|
||||||
},
|
},
|
||||||
|
interactionSource = interactionSource,
|
||||||
)
|
)
|
||||||
|
|
||||||
Text(text = totalPages.toString())
|
Text(text = totalPages.toString())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user