Add haptics to SliderItem

This commit is contained in:
arkon 2023-10-14 22:47:02 -04:00
parent 82a9d36df7
commit f79f0a7e97

View file

@ -40,6 +40,8 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.hapticfeedback.HapticFeedbackType
import androidx.compose.ui.platform.LocalHapticFeedback
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import tachiyomi.core.preference.Preference
@ -160,6 +162,8 @@ fun SliderItem(
valueText: String,
onChange: (Int) -> Unit,
) {
val haptic = LocalHapticFeedback.current
Row(
modifier = Modifier
.fillMaxWidth()
@ -180,7 +184,13 @@ fun SliderItem(
Slider(
value = value.toFloat(),
onValueChange = { onChange(it.toInt()) },
onValueChange = {
val newValue = it.toInt()
if (newValue != value) {
onChange(newValue)
haptic.performHapticFeedback(HapticFeedbackType.TextHandleMove)
}
},
modifier = Modifier.weight(1.5f),
valueRange = min.toFloat()..max.toFloat(),
steps = max - min,