From 5bd2383b508a8bb2c3a8b987aa5a095794c7f1fa Mon Sep 17 00:00:00 2001 From: Super12138 <70494801+Super12138@users.noreply.github.com> Date: Fri, 7 Feb 2025 09:07:58 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E8=A7=A6=E6=84=9F?= =?UTF-8?q?=E5=8F=8D=E9=A6=88=E7=9A=84=E5=BC=80=E5=90=AF=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/pages/settings/SettingsInterfaceInteraction.kt | 3 ++- .../kotlin/cn/super12138/todo/utils/VibrationUtils.kt | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/pages/settings/SettingsInterfaceInteraction.kt b/app/src/main/kotlin/cn/super12138/todo/ui/pages/settings/SettingsInterfaceInteraction.kt index 8ae8d9d..fbd6bb4 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/pages/settings/SettingsInterfaceInteraction.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/pages/settings/SettingsInterfaceInteraction.kt @@ -32,6 +32,7 @@ import cn.super12138.todo.ui.pages.settings.components.SettingsRadioDialog import cn.super12138.todo.ui.pages.settings.components.SettingsRadioOptions import cn.super12138.todo.ui.pages.settings.components.SwitchSettingsItem import cn.super12138.todo.ui.viewmodels.MainViewModel +import cn.super12138.todo.utils.VibrationUtils @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -80,7 +81,7 @@ fun SettingsInterface( leadingIcon = Icons.Outlined.Vibration, title = stringResource(R.string.pref_haptic_feedback), description = stringResource(R.string.pref_haptic_feedback_desc), - onCheckedChange = {} + onCheckedChange = { VibrationUtils.setEnabled(it) } ) SettingsPlainBox(stringResource(R.string.pref_haptic_feedback_more_info)) } diff --git a/app/src/main/kotlin/cn/super12138/todo/utils/VibrationUtils.kt b/app/src/main/kotlin/cn/super12138/todo/utils/VibrationUtils.kt index f20feba..6c8e0a5 100644 --- a/app/src/main/kotlin/cn/super12138/todo/utils/VibrationUtils.kt +++ b/app/src/main/kotlin/cn/super12138/todo/utils/VibrationUtils.kt @@ -5,11 +5,17 @@ import android.view.View import cn.super12138.todo.constants.GlobalValues object VibrationUtils { + private var isEnabled: Boolean = GlobalValues.hapticFeedback + + fun setEnabled(enabled: Boolean) { + isEnabled = enabled + } + fun performHapticFeedback( view: View, feedbackConstants: Int = HapticFeedbackConstants.CONTEXT_CLICK ) { - if (GlobalValues.hapticFeedback) { + if (isEnabled) { view.performHapticFeedback(feedbackConstants) } }