VerveDo/app/src/main/kotlin/cn/super12138/todo/utils/VibrationUtils.kt
2026-02-05 20:43:29 +08:00

33 lines
No EOL
1,011 B
Kotlin

package cn.super12138.todo.utils
import android.view.HapticFeedbackConstants
import android.view.View
import cn.super12138.todo.constants.Constants
object VibrationUtils {
private var isEnabled: Boolean = Constants.PREF_HAPTIC_FEEDBACK_DEFAULT
/**
* 启用或禁用触感反馈
*/
fun setEnabled(enabled: Boolean) {
isEnabled = enabled
}
/**
* **依据触感反馈的启用状态**为用户提供当前视图的触感反馈
*
* 注:触感反馈 **当且仅当 `isHapticFeedbackEnabled()` 为 `true` 时(须在系统设置中开启)** 才会被出发
*
* @param view 触发触感反馈的视图
* @param feedbackConstants 触感反馈类型,默认值为 `HapticFeedbackConstants.CONTEXT_CLICK`
*/
fun performHapticFeedback(
view: View,
feedbackConstants: Int = HapticFeedbackConstants.CONTEXT_CLICK
) {
if (isEnabled) {
view.performHapticFeedback(feedbackConstants)
}
}
}