summaryrefslogtreecommitdiff
path: root/Source/Android
diff options
context:
space:
mode:
authorDentomologist <dentomologist@gmail.com>2026-07-08 17:25:54 -0700
committerGitHub <noreply@github.com>2026-07-08 17:25:54 -0700
commit2e07d3b4a8233a19b038424256618d989cdd959b (patch)
tree33764746759a66b8f7ec5f3ea2aadc461443f141 /Source/Android
parentf93f69a1e59e02d31d819db7064c817b479ff83b (diff)
parent424269ed4b0fa650c3798ffb4b5c240d51b14b9f (diff)
Merge pull request #14702 from JosJuice/android-vibration-usage
Android: Set USAGE_MEDIA for rumble
Diffstat (limited to 'Source/Android')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/ControllerInterface.kt23
1 files changed, 20 insertions, 3 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/ControllerInterface.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/ControllerInterface.kt
index 71b37ff513..b412b6ef9b 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/ControllerInterface.kt
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/ControllerInterface.kt
@@ -4,10 +4,12 @@ package org.dolphinemu.dolphinemu.features.input.model
import android.content.Context
import android.hardware.input.InputManager
+import android.media.AudioAttributes
import android.os.Build
import android.os.Handler
import android.os.HandlerThread
import android.os.Looper
+import android.os.VibrationAttributes
import android.os.VibrationEffect
import android.os.Vibrator
import android.os.VibratorManager
@@ -158,6 +160,7 @@ object ControllerInterface {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
DolphinVibratorManagerPassthrough(device.vibratorManager)
} else {
+ @Suppress("DEPRECATION")
DolphinVibratorManagerCompat(device.vibrator)
}
}
@@ -172,6 +175,7 @@ object ControllerInterface {
return DolphinVibratorManagerPassthrough(vibratorManager)
}
}
+ @Suppress("DEPRECATION")
val vibrator = DolphinApplication.getAppContext()
.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
return DolphinVibratorManagerCompat(vibrator)
@@ -180,10 +184,23 @@ object ControllerInterface {
@Keep
@JvmStatic
private fun vibrate(vibrator: Vibrator) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- vibrator.vibrate(VibrationEffect.createOneShot(100, VibrationEffect.DEFAULT_AMPLITUDE))
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ vibrator.vibrate(
+ VibrationEffect.createOneShot(100, VibrationEffect.DEFAULT_AMPLITUDE),
+ VibrationAttributes.Builder().setUsage(VibrationAttributes.USAGE_MEDIA).build()
+ )
} else {
- vibrator.vibrate(100)
+ val attributes = AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_MEDIA).build()
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ @Suppress("DEPRECATION")
+ vibrator.vibrate(
+ VibrationEffect.createOneShot(100, VibrationEffect.DEFAULT_AMPLITUDE),
+ attributes
+ )
+ } else {
+ @Suppress("DEPRECATION")
+ vibrator.vibrate(100, attributes)
+ }
}
}