We are currently migrating Bugzilla to GitHub issues.
Any changes made to the bug tracker now will be lost, so please do not post new bugs or make changes to them.
When we're done, all bug URLs will redirect to their equivalent location on the new bug tracker.

Bug 4270

Summary: Android HIDDeviceManager function needs to be public
Product: SDL Reporter: Sylvain <sylvain.becker>
Component: joystickAssignee: Sam Lantinga <slouken>
Status: RESOLVED FIXED QA Contact: Sam Lantinga <slouken>
Severity: normal    
Priority: P2    
Version: don't know   
Hardware: All   
OS: Android (All)   

Description Sylvain 2018-09-25 19:28:20 UTC
Can't run an android app without declaring the JNI interface function as public.



--- a/android-project/app/src/main/java/org/libsdl/app/HIDDeviceManager.java	Tue Sep 25 08:23:57 2018 -0700
+++ b/android-project/app/src/main/java/org/libsdl/app/HIDDeviceManager.java	Tue Sep 25 21:25:22 2018 +0200
@@ -504,7 +504,7 @@
     ////////// JNI interface functions
     //////////////////////////////////////////////////////////////////////////////////////////////////////
 
-    boolean openDevice(int deviceID) {
+    public boolean openDevice(int deviceID) {
         // Look to see if this is a USB device and we have permission to access it
         for (HIDDeviceUSB device : mUSBDevices.values()) {
             if (deviceID == device.getId()) {
@@ -539,7 +539,7 @@
         return false;
     }
 
-    int sendOutputReport(int deviceID, byte[] report) {
+    public int sendOutputReport(int deviceID, byte[] report) {
         try {
             Log.v(TAG, "sendOutputReport deviceID=" + deviceID + " length=" + report.length);
             HIDDevice device;
@@ -556,7 +556,7 @@
         return -1;
     }
 
-    int sendFeatureReport(int deviceID, byte[] report) {
+    public int sendFeatureReport(int deviceID, byte[] report) {
         try {
             Log.v(TAG, "sendFeatureReport deviceID=" + deviceID + " length=" + report.length);
             HIDDevice device;
@@ -573,7 +573,7 @@
         return -1;
     }
 
-    boolean getFeatureReport(int deviceID, byte[] report) {
+    public boolean getFeatureReport(int deviceID, byte[] report) {
         try {
             Log.v(TAG, "getFeatureReport deviceID=" + deviceID);
             HIDDevice device;
@@ -590,7 +590,7 @@
         return false;
     }
 
-    void closeDevice(int deviceID) {
+    public void closeDevice(int deviceID) {
         try {
             Log.v(TAG, "closeDevice deviceID=" + deviceID);
             HIDDevice device;
Comment 1 Sam Lantinga 2018-09-26 03:12:37 UTC
Fixed, thanks!
https://hg.libsdl.org/SDL/rev/18445c9fc2f3

In the future, please add patches as attachments. I had to redo this one by hand since the pasted patch was wrapped.