treat default button as value change for SliderPreference

This commit is contained in:
Helium314 2025-04-05 10:24:24 +02:00
parent 087f87e95c
commit 6995266bd1
2 changed files with 4 additions and 4 deletions

View file

@ -26,7 +26,7 @@ fun <T: Number> SliderPreference(
default: T, default: T,
range: ClosedFloatingPointRange<Float>, range: ClosedFloatingPointRange<Float>,
stepSize: Int? = null, stepSize: Int? = null,
onValueChanged: (Float) -> Unit = { }, onValueChanged: (Float?) -> Unit = { },
) { ) {
val ctx = LocalContext.current val ctx = LocalContext.current
val prefs = ctx.prefs() val prefs = ctx.prefs()
@ -59,7 +59,7 @@ fun <T: Number> SliderPreference(
}, },
onValueChanged = onValueChanged, onValueChanged = onValueChanged,
showDefault = true, showDefault = true,
onDefault = { prefs.edit().remove(key).apply() }, onDefault = { prefs.edit().remove(key).apply(); onValueChanged(null) },
intermediateSteps = stepSize?.let { intermediateSteps = stepSize?.let {
// this is not nice, but slider wants it like this... // this is not nice, but slider wants it like this...
((range.endInclusive - range.start) / it - 1).toInt() ((range.endInclusive - range.start) / it - 1).toInt()

View file

@ -172,7 +172,7 @@ fun createPreferencesSettings(context: Context) = listOf(
else stringResource(R.string.abbreviation_unit_milliseconds, it.toString()) else stringResource(R.string.abbreviation_unit_milliseconds, it.toString())
}, },
range = -1f..100f, range = -1f..100f,
onValueChanged = { AudioAndHapticFeedbackManager.getInstance().vibrate(it.toLong()) } onValueChanged = { it?.let { AudioAndHapticFeedbackManager.getInstance().vibrate(it.toLong()) } }
) )
}, },
Setting(context, Settings.PREF_KEYPRESS_SOUND_VOLUME, R.string.prefs_keypress_sound_volume_settings) { setting -> Setting(context, Settings.PREF_KEYPRESS_SOUND_VOLUME, R.string.prefs_keypress_sound_volume_settings) { setting ->
@ -186,7 +186,7 @@ fun createPreferencesSettings(context: Context) = listOf(
else (it * 100).toInt().toString() else (it * 100).toInt().toString()
}, },
range = -0.01f..1f, range = -0.01f..1f,
onValueChanged = { audioManager.playSoundEffect(AudioManager.FX_KEYPRESS_STANDARD, it) } onValueChanged = { it?.let { audioManager.playSoundEffect(AudioManager.FX_KEYPRESS_STANDARD, it) } }
) )
}, },
) )