Always release devices in onPause in case we're going to be force stopped, and for consistency with interacting with other activities that might use the controller
diff --git a/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java b/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java
index 615f84c..b344156 100644
--- a/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java
+++ b/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java
@@ -283,10 +283,6 @@
return;
}
- if (mHIDDeviceManager != null) {
- mHIDDeviceManager.setFrozen(true);
- }
-
SDLActivity.handleNativeState();
}
@@ -298,10 +294,6 @@
return;
}
- if (mHIDDeviceManager != null) {
- mHIDDeviceManager.setFrozen(false);
- }
-
SDLActivity.handleNativeState();
}
@@ -310,6 +302,10 @@
protected void onPause() {
Log.v(TAG, "onPause()");
super.onPause();
+
+ if (mHIDDeviceManager != null) {
+ mHIDDeviceManager.setFrozen(true);
+ }
if (!mHasMultiWindow) {
pauseNativeThread();
}
@@ -319,6 +315,10 @@
protected void onResume() {
Log.v(TAG, "onResume()");
super.onResume();
+
+ if (mHIDDeviceManager != null) {
+ mHIDDeviceManager.setFrozen(false);
+ }
if (!mHasMultiWindow) {
resumeNativeThread();
}