33 lines
No EOL
1,011 B
Kotlin
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)
|
|
}
|
|
}
|
|
} |