KeyHandler: Use VibrationAttributes.USAGE_HARDWARE_FEEDBACK
This fixes vibration when user disabled 'Touch feedback' in settings. Change-Id: If465f34c86a1e8e1b0f0b2ee3cc74515315e30b4
This commit is contained in:
@@ -13,6 +13,7 @@ import android.content.IntentFilter
|
||||
import android.hardware.input.InputManager
|
||||
import android.media.AudioManager
|
||||
import android.media.AudioSystem
|
||||
import android.os.VibrationAttributes
|
||||
import android.os.VibrationEffect
|
||||
import android.os.Vibrator
|
||||
import android.provider.Settings
|
||||
@@ -79,8 +80,14 @@ class KeyHandler(context: Context) : DeviceKeyHandler {
|
||||
|
||||
private fun vibrateIfNeeded(mode: Int) {
|
||||
when (mode) {
|
||||
AudioManager.RINGER_MODE_VIBRATE -> vibrator.vibrate(MODE_VIBRATION_EFFECT)
|
||||
AudioManager.RINGER_MODE_NORMAL -> vibrator.vibrate(MODE_NORMAL_EFFECT)
|
||||
AudioManager.RINGER_MODE_VIBRATE -> vibrator.vibrate(
|
||||
MODE_VIBRATION_EFFECT,
|
||||
HARDWARE_FEEDBACK_VIBRATION_ATTRIBUTES
|
||||
)
|
||||
AudioManager.RINGER_MODE_NORMAL -> vibrator.vibrate(
|
||||
MODE_NORMAL_EFFECT,
|
||||
HARDWARE_FEEDBACK_VIBRATION_ATTRIBUTES
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,6 +160,10 @@ class KeyHandler(context: Context) : DeviceKeyHandler {
|
||||
private const val ZEN_TOTAL_SILENCE = 4
|
||||
private const val ZEN_ALARMS_ONLY = 5
|
||||
|
||||
// Vibration attributes
|
||||
private val HARDWARE_FEEDBACK_VIBRATION_ATTRIBUTES =
|
||||
VibrationAttributes.createForUsage(VibrationAttributes.USAGE_HARDWARE_FEEDBACK)
|
||||
|
||||
// Vibration effects
|
||||
private val MODE_NORMAL_EFFECT = VibrationEffect.get(VibrationEffect.EFFECT_HEAVY_CLICK)
|
||||
private val MODE_VIBRATION_EFFECT = VibrationEffect.get(VibrationEffect.EFFECT_DOUBLE_CLICK)
|
||||
|
||||
Reference in New Issue
Block a user