瀏覽代碼

Reapply "Change controller sensor state on the main UI thread on Android"

This reverts commit 02975994c12582aef918bccb3825592e7ea36d10.

Accidentally reverted the wrong commit

(cherry picked from commit b19ecb40327333d147bc8be5850d5fe398e54c86)
Sam Lantinga 4 月之前
父節點
當前提交
da76e438be
共有 1 個文件被更改,包括 7 次插入 和 1 次删除
  1. 7 1
      android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java

+ 7 - 1
android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java

@@ -91,7 +91,13 @@ public class SDLControllerManager
      * 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);
+            }
+        });
     }
 
     /**