--- a/android-project/app/src/main/java/org/libsdl/app/HIDDeviceManager.java +++ b/android-project/app/src/main/java/org/libsdl/app/HIDDeviceManager.java @@ -103,38 +103,12 @@ private HIDDeviceManager(final Context context) { mContext = context; - - // Make sure we have the HIDAPI library loaded with the native functions - try { - SDL.loadLibrary("hidapi"); - } catch (Throwable e) { - Log.w(TAG, "Couldn't load hidapi: " + e.toString()); - - AlertDialog.Builder builder = new AlertDialog.Builder(context); - builder.setCancelable(false); - builder.setTitle("SDL HIDAPI Error"); - builder.setMessage("Please report the following error to the SDL maintainers: " + e.getMessage()); - builder.setNegativeButton("Quit", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - try { - // If our context is an activity, exit rather than crashing when we can't - // call our native functions. - Activity activity = (Activity)context; - activity.finish(); - } - catch (ClassCastException cce) { - // Context wasn't an activity, there's nothing we can do. Give up and return. - } - } - }); - builder.show(); - - return; + try { + HIDDeviceRegisterCallback(); + } catch (UnsatisfiedLinkError error) { + Log.v("SDL", "No implementation found for native library HIDDeviceRegisterCallback(). Was SDL_JOYSTICK_HIDAPI enabled when building SDL?"); } - - HIDDeviceRegisterCallback(); mSharedPreferences = mContext.getSharedPreferences("hidapi", Context.MODE_PRIVATE); mIsChromebook = mContext.getPackageManager().hasSystemFeature("org.chromium.arc.device_management");