From b19ecb40327333d147bc8be5850d5fe398e54c86 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Sun, 17 May 2026 12:15:48 -0700
Subject: [PATCH] Reapply "Change controller sensor state on the main UI thread
on Android"
This reverts commit 02975994c12582aef918bccb3825592e7ea36d10.
Accidentally reverted the wrong commit
---
.../main/java/org/libsdl/app/SDLControllerManager.java | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java b/android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java
index 31b07b0ac0cdb..2a0296eb0c03f 100644
--- a/android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java
+++ b/android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java
@@ -91,7 +91,13 @@ static void joystickSetLED(int device_id, int red, int green, int blue) {
* This method is called by SDL using JNI.
*/
static void joystickSetSensorsEnabled(int device_id, boolean enabled) {
- mJoystickHandler.setSensorsEnabled(device_id, enabled);
+ // Run this on the UI thread so we don't race with enableSensor() in SDLSurface.java
+ SDL.getContext().runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ mJoystickHandler.setSensorsEnabled(device_id, enabled);
+ }
+ });
}
/**