Commit Graph

190 Commits

Author SHA1 Message Date
Sylvain 5b41844c75
Fixed bug #5322 - register virtual input devices as SDL_Touch device, fix compilation 2022-02-09 09:50:41 +01:00
Sylvain 3a9bbf604e
Fixed bug #5322 - register virtual input devices as SDL_Touch device because
they can send SOURCE_TOUCHSCREEN events even if getSources() doesn't declare them.
2022-02-09 09:37:36 +01:00
Sylvain 59f1e2875a
Android: add debug function to display class/sources 2022-02-08 21:50:19 +01:00
Sylvain 2df2da11f6
Android: handleMotionEvent() is checking for SOURCE_JOYSTICK. So don't handle DPAD GAMEPAD (see #5322, #2718) 2022-02-08 17:51:40 +01:00
Sylvain 1fc5dba3d5
Android: test for SOURCE_KEYBOARD / SOURCE_MOUSE. Don't compare to 0, since there are several bits (see #5322, #2718) 2022-02-08 17:41:17 +01:00
Sylvain 68dd84f1de
Android: TouchDevice -1 is reserved for SDL synthetic devce (See #5322) 2022-02-08 11:42:24 +01:00
Sylvain 14bc3bf4ec
Android: fix typo to register TOUCHSCREEN device (see #5322, #2718) 2022-02-07 22:20:05 +01:00
Temdog007 b59e75c259 Handle menu button press from controller 2022-02-02 21:21:44 -08:00
Sam Lantinga 2363ddc330 Fixed crash on Windows Subsystem for Android, which doesn't have a USB manager.
Fixes https://github.com/libsdl-org/SDL/issues/5133
2021-12-28 17:30:36 -08:00
Sylvain a1e992b110
Fixed bug #5118 - [Android] PointerIcon leak in Cursor API 2021-12-21 22:07:17 +01:00
Sylvain cd86e269e4
Fixed bug #4982 - Failed to open audio_device. Android 5.1 should be ok. 2021-11-20 19:40:26 +01:00
Sylvain b6d365677b
Fixed bug #4982 - Failed to open audio_device on Android 5.x with freq 96khz+ 2021-11-20 15:28:36 +01:00
Sam Lantinga 66058bbbd5 Fixed exception accessing Bluetooth devices on Android 12
Since accessing Bluetooth prompts the user for permission on both Android and iOS, and we only need it for Steam Controller support, we'll leave it off by default. You can enable it by setting the hint SDL_HINT_JOYSTICK_HIDAPI_STEAM to "1" before calling SDL_Init()

Fixes https://github.com/libsdl-org/SDL/issues/4952
2021-11-15 16:52:56 -08:00
Sam Lantinga be5b4d980d Added nativeGetHintBoolean for Java code 2021-11-15 16:52:54 -08:00
Sam Lantinga 2f591fb0a0 Added android:exported="true" to the example Android manifest
This is needed for targeting Android 12 (API 31)
2021-11-15 12:50:02 -08:00
Anders Jenbo 93556e67e0 Update AndroidManifest.xml 2021-11-14 20:19:54 -08:00
Anders Jenbo b9c619017d [Android] Limit WRITE_EXTERNAL_STORAGE to SDK 22-
Direct access to the external storage is no longer allowed as of SDK 30. But on older version of Android you will still need WRITE_EXTERNAL_STORAGE in order to request the Download Manager to download files to your external file folder.
2021-11-14 20:19:54 -08:00
Sam Lantinga c2dd50a9a0 Fixed whitespace 2021-11-12 08:28:02 -08:00
Sam Lantinga 97c71371f2 If Android version >= API 31 PendingIntent.FLAG_MUTABLE
"If your app targets Android 12, you must specify the mutability of each PendingIntent object that your app creates. This additional requirement improves your app's security."

Thanks @FormularSumo and @cgutman
2021-11-12 01:21:29 -08:00
Sam Lantinga 544d2e6aa0 Don't try to load hidapi at startup on Android 2021-11-11 20:47:19 -08:00
Sam Lantinga ed05a0e9e7 Fixed exception trying to get USB permission
You can't set the intent to be immutable, otherwise the USB system can't set the device and permission in the response. This works fine on Android 12 without an immutable intent.
2021-11-11 20:33:02 -08:00
Sam Lantinga c877dd93c5 The hidapi code is now built into SDL, we don't need to load a shared library for it 2021-11-11 19:29:42 -08:00
Sam Lantinga dd85cc0195 Fixed whitespace 2021-11-07 13:17:54 -08:00
FormularSumo 80d19282f7 If Android version >= API 23 PendingIntent.FLAGIMMUTABLE
"If your app targets Android 12, you must specify the mutability of each PendingIntent object that your app creates. This additional requirement improves your app's security."

FLAG_IMMUTABLE was added in API 23 so that's why I'm using "> API 23". Using API 30 would also fix the Android 12 issue. Alternatively if PendingIntents should be mutable you could change it to "FLAG_MUTABLE".
2021-11-07 13:16:13 -08:00
Sylvain 8b1a2fe860
backout SDL_AndroidSetInputType() 2021-10-17 23:47:59 +02:00
Sylvain ccb12457f9
Fixed bug #4843 - Can not get the ime candidatelist like chinese/japaness input method 2021-10-17 23:17:54 +02:00
Sylvain 325ae5c35d
Android: getCurrentOrientation uses getContext() to retrieve the activity (see bug #4825) 2021-10-13 08:35:56 +02:00
Sylvain 723f5cea43
Fixed bug #4825 - NullPointerException on SDLActivity.getCurrentOrientation() (Thanks Benau!) 2021-10-12 20:58:58 +02:00
Sam Lantinga 3172615074 Let Android know that we can handle USB devices
This is important on Android 29 and above if you don't want to be prompted for each device that you open
2021-08-04 13:13:22 -07:00
Sam Lantinga 107db2d899 Enable TV game mode by default on Android 2021-05-07 12:43:35 -07:00
Sylvain 98a966d1c2
Android: don't need to set the SurfaceHolder format from java code
It's already set with ANativeWindow_setGeometry, and eventually set/changed also by eglCreateWindowSurface.
 - avoid issues with older device where SurfaceView cycle create/changed/destroy appears broken:
   calling create/changed/changed, and leading to "deuqueBuffer failed at server side, error: -19", with black screen.
 - re-read the format after egl window surface is created, to report the correct one (sometimes, changed from RGBA8888 to RGB24)
2021-04-22 18:06:17 +02:00
Sam Lantinga 6d9c4f6c6c Added support for the wired Amazon Luna gamepad on Android 2021-03-26 15:07:10 -07:00
Sam Lantinga f5e9c5b7e0 Chromebooks support relative mouse motion now 2021-02-21 11:03:25 -08:00
Amir 1a924bc0bb add SDL_AndroidShowToast for https://developer.android.com/reference/android/widget/Toast 2021-02-20 23:05:09 -08:00
Jordan Christiansen 7032539785 Disabled Bluetooth if BLE is not supported
BluetoothManager is supported for Android API 18+. On older versions, skip
Bluetooth instead of crashing.
2021-01-07 19:33:12 -06:00
Sam Lantinga cdd397118f Fixed the Xbox Series X controller showing up twice on Android 2020-12-15 14:57:49 -08:00
Sylvain Becker 311ae829c7 Android: keep compatibility with older JDK 2020-10-28 14:03:05 +01:00
Sylvain Becker 97cf314526 Android: apply code simplications found with lint / Android Studio 2020-10-27 21:14:49 +01:00
Sylvain Becker 0360987f45 Android: fix deprecated onCreateDialog() methods 2020-10-24 20:31:04 +02:00
Sylvain Becker 967041681b Android: fix Clipboard deprecated methods 2020-10-24 15:36:05 +02:00
Sylvain Becker b7b8ef59a3 Fixed bug 5307 - Crash when joysticks hats number is odd (Thanks Sockmonsters!) 2020-10-07 17:32:07 +02:00
Sylvain Becker bffbc7e316 Android: better readibility for pollHapticDevices() 2020-10-07 14:55:23 +02:00
Sylvain Becker 20c070d869 Android: better readibility for pollInputDevices()
and move isDeviceSDLJoystick() test at first since there are
always non-joystick devices present.
2020-10-07 14:41:37 +02:00
Sylvain Becker a70bb58d4b Android: fix joystick allocation that can be never used 2020-10-05 14:09:31 +02:00
Sylvain Becker 2e38c94950 Fix bug 5303 - Touch/Mouse events simulation doesn't work on Android 11 2020-10-05 09:56:03 +02:00
Sylvain Becker 0467e332af Android: small change to access to device diagonal value 2020-10-01 15:11:28 +02:00
Sylvain Becker 62b029f33b Android: missing import class Uri 2020-10-01 14:43:59 +02:00
Sylvain Becker dd55bfe89c Android: add helper function to open an URL/URI (see bug 2783) 2020-10-01 14:41:09 +02:00
Sylvain Becker 7ad71563ce Android: be sure shared libraries are loaded in onConfigurationChanged()
This could fix a rare crash if:
- onConfigurationChanged is called before onCreate();
or
 shared libraries failed to load and onConfigurationChanged() is called
2020-09-25 10:42:07 +02:00
Sylvain Becker 96d555e25a Android: remove un-needed java import (bug 4297) 2020-08-17 20:09:01 +02:00