|
b699ddc0
|
2018-10-23T12:40:25
|
|
Fixed reinitializing the SDL joystick subsystem on Android
|
|
d7fa1120
|
2018-10-22T14:55:47
|
|
Change our fullscreen wait logic to only wait if we need to. (thanks Rachel!)
|
|
e6068b5b
|
2018-10-22T14:55:45
|
|
Handle failure to load hidapi gracefully
|
|
3e3ce6e9
|
2018-10-16T15:00:43
|
|
Fixed bug 4318 - Android move Haptic code to API26 class
Sylvain
- Create SDLHapticHandler_API26
- No need of reflection since SDL2 compile with Android 26 as a min requirement.
- remove spaces
|
|
b0c48dd9
|
2018-10-16T08:29:27
|
|
Support vibration magnitude on Android 8.0 (thanks Rachel!)
|
|
f5a21ebf
|
2018-10-09T20:12:43
|
|
Added support for surround sound and float audio on Android
|
|
4679f682
|
2018-10-09T20:12:40
|
|
Removed unneeded variable qualifiers
|
|
337cea44
|
2018-10-08T12:49:30
|
|
Fixed life-cycle issues with two activities sharing HIDDeviceManager
|
|
1e728f50
|
2018-10-08T12:49:28
|
|
Close on shutdown, for consistency
|
|
e4c9806f
|
2018-10-08T12:49:26
|
|
Trying to track down NullPointerException in USB input thread
|
|
a0c53668
|
2018-10-04T16:29:17
|
|
Allow SDL to use ReLinker if present.
This fixes issues for applications that have a large number of shared libraries
For more information, see https://github.com/KeepSafe/ReLinker for ReLinker's repository.
|
|
ae5317e8
|
2018-10-02T13:17:31
|
|
The Amlogic X96 is a set-top box
|
|
679d3553
|
2018-10-01T14:52:28
|
|
Fixed UnsatisfiedLinkError when initializing the HIDDeviceManager in some cases
|
|
e77ec889
|
2018-09-29T02:14:46
|
|
Fixed tablet detection on Android
|
|
74638ea3
|
2018-09-28T20:39:57
|
|
Ensure we wait on the surface resize before returning from setting fullscreen mode.
|
|
d40657bf
|
2018-09-25T20:11:52
|
|
Fixed bug 4270 - Android HIDDeviceManager function needs to be public
Sylvain
Can't run an android app without declaring the JNI interface function as public.
|
|
da89b81c
|
2018-09-24T20:31:24
|
|
Fixed rare null pointer dereference
|
|
e0fe8f3c
|
2018-09-24T11:53:04
|
|
Support relative mouse for Samsung DeX on Samsung Experience 9.5 or later (Android 8.1 or later)
|
|
c179d394
|
2018-09-17T12:08:05
|
|
Fixed NullPointerException if there's no singleton
|
|
66294d31
|
2018-09-14T18:31:03
|
|
Guard against Steam Controller input when we're shutting down.
|
|
a0b3dcc2
|
2018-09-05T15:54:46
|
|
Fixed bug 4002 - Android, nativeRunMain() fails on some phone with arm64-v8a
Sylvain
The issue is totally reproducible on P8 Lite.
"The dlopen() call doesn't include the app's native library directory. The behavior of dlopen() by Android is not guaranteed".
Workaround in getMainSharedObject()
Just replace
return library;
with
return getContext().getApplicationInfo().nativeLibraryDir + "/" + library;
|
|
09ab752a
|
2018-08-24T10:41:57
|
|
Implement SDL_HapticStopEffect on Android (thanks Rachel!)
|
|
a003fa0a
|
2018-08-23T14:05:25
|
|
Implemented SDL_GetDisplayOrientation() on Android (thanks Rachel!)
|
|
38ae4988
|
2018-08-21T20:46:25
|
|
Updated required Android SDK to API 26, to match Google's new App Store requirements
|
|
c2791fc6
|
2018-08-21T11:59:13
|
|
Don't crash if the app doesn't have Bluetooth permissions
|
|
2a4999b4
|
2018-08-21T11:44:08
|
|
By default just build for 32-bit ARM and x86
|
|
109544ca
|
2018-08-21T11:23:47
|
|
Add SDL_IsTablet() to Android and iOS SDL.
|
|
b09b25f6
|
2018-08-21T11:07:56
|
|
Don't crash if the app doesn't have Bluetooth permissions
|
|
ad1e3c2a
|
2018-08-21T10:37:26
|
|
Fixed Android build error
|
|
cf823094
|
2018-08-09T16:04:25
|
|
The MINIX NEO-U1 is now being reported as Android TV
|
|
d2042e1e
|
2018-08-09T16:00:17
|
|
Added HIDAPI joystick drivers for more consistent support for Xbox, PS4 and Nintendo Switch Pro controller support across platforms.
Added SDL_GameControllerRumble() and SDL_JoystickRumble() for simple force feedback outside of the SDL haptics API
|
|
fd8e8f9f
|
2018-07-13T12:55:50
|
|
Clean up captured pointer code to avoid logcat clutter on pre-8.0 systems (thanks Rachel!)
|
|
ff8c9538
|
2018-07-12T13:28:13
|
|
Allow trapping the back button so right mouse click can work on some Android systems (thanks Rachel!)
Also, added a function SDL_AndroidBackButton() so applications can respond to the back button directly
|
|
a5158535
|
2018-06-18T13:14:02
|
|
Added support for external mouse in Samsung DeX mode
relative mode doesn't work, but absolute coordinates are functional
|
|
f1d8f5f7
|
2018-06-18T13:14:00
|
|
Make certain we only hide system UI when we're fullscreen for real. (thanks Rachel!)
|
|
8b574dc4
|
2018-06-18T13:13:58
|
|
Deal with situations where the system UI is shown when the keyboard pops up (thanks Rachel!)
|
|
12ff19c0
|
2018-06-13T14:24:30
|
|
SDL Android fullscreen code extensively tested on Steam Link with no issues reported
|
|
63317dfb
|
2018-06-07T17:07:05
|
|
Don't crash on exit from SDLActivity if we don't have a singleton for some reason. (Thanks Rachel!)
|
|
fe196db7
|
2018-06-07T17:07:03
|
|
Track android device panel width & height as well as window surface & height.
Expand SDLActivity::SDLSurface::surfaceChanged() callback to grab the panel width and height at the same time and pass that along to the native code. Only works on API 17+. Duplicates surface dimensions whenever it fails.
Add Android_DeviceWidth/Android_DeviceHeight globals to native code.
Disambiguate Android_ScreenWidth/Android_ScreenHeight -> Android_SurfaceWidth/Android_SurfaceHeight
Use device width/height for all display mode settings.
|
|
77709aec
|
2018-06-06T09:42:12
|
|
Added Android hardware feature support to the default manifest
|
|
7c5f3cf3
|
2018-06-05T14:08:39
|
|
Added improved mouse pointer capture under API 26. (Thanks Rachel!)
|
|
113801b7
|
2018-06-05T12:46:13
|
|
Added SDL_IsChromebook() to determine if we're running on a Chromebook.
|
|
03ff7dcf
|
2018-05-29T11:18:01
|
|
Added support for Android relative mouse mode on API 24 and above
|
|
5d1d0357
|
2018-05-23T17:15:35
|
|
Better fix for axis sorting with some Android controllers
|
|
f536fbea
|
2018-03-16T11:08:53
|
|
Reimplemented Android cursor API support using reflection so it builds with older SDKs
|
|
e20d4173
|
2018-03-15T18:22:48
|
|
Added Android custom cursor implementation
This is commented out in SDLActivity.java, with the note #CURSORIMPLEENTATION because it requires API 24, which is higher than the minimum required SDK
|
|
9e651b69
|
2018-03-06T14:51:50
|
|
Try to dynamically create a default Android game controller mapping based on the buttons and axes on the controller.
Include the controller USB VID/PID in the GUID where possible, as we do on other platforms.
|
|
0df7fe84
|
2018-03-01T08:22:56
|
|
Temporarily disabled fullscreen switching code on Android, until we can resolve bug 4096 - Enabling fullscreen on Android causes the app to toggle fullscreen mode continuously in a loop
|
|
6e01fbb7
|
2018-02-11T18:23:37
|
|
On Android show the system UI when an SDL window is windowed, hide the system UI when it's fullscreen, like we do on iOS.
We're increasing the Android SDK minimum version to API 19, this doesn't increase the minimum target API, which is API 14.
|
|
54340ab9
|
2018-02-07T15:10:50
|
|
Fixed bug 4021 - Android, hard-coded Keycode value
Sylvain
There is an hard-coded keycode value in SDLActivity.java
|
|
6ed184ec
|
2018-02-06T15:03:35
|
|
Added SDL_IsAndroidTV()
|
|
fab2e246
|
2018-01-27T12:07:05
|
|
Removed armeabi from the SDL build API list, since it's not supported by the latest Android SDK
|
|
b401cfd9
|
2018-01-09T19:11:34
|
|
Allow Android Java shim to be built as an AAR
|
|
616827ae
|
2017-12-19T11:19:10
|
|
Fixed bug 4001 - Android, prevent error message box to crash
Sylvain
Prevent the error message box to crash after being clicked.
Because of "SDLActivity.mSingleton.finish();"
|
|
b92e2f02
|
2017-12-19T10:57:21
|
|
Fixed bug 4004 - iOS: don't hide keyboard on RETURN
Dominik Reichardt
As discussed in 2012 the iOS onscreen keyboard hides when you hit RETURN (see https://discourse.libsdl.org/t/on-screen-keyboard-change/19216).
IMO this is a bad idea to not be able to influence this behavior and just recently this was fixed for Android by adding the hint SDL_HINT_ANDROID_RETURN_HIDES_IME in changeset 11768 6ce3bb5e38a5.
|
|
2afc0b7f
|
2017-12-12T12:52:23
|
|
Add the ability to set SDL to handle Return as 'hide IME' on Android softkeyboard. (thanks Rachel!)
|
|
c317ab97
|
2017-11-12T10:59:05
|
|
Fixed Android build error on older SDK
|
|
50e422ad
|
2017-11-04T22:03:28
|
|
Fixed bug 3917 - Android, issues with getManifestEnvironmentVariable
Sylvain
What about getting some return code instead of creating another native function.
|
|
758156a7
|
2017-11-04T09:37:29
|
|
Fixed bug 3917 - Android, issues with getManifestEnvironmentVariable
We're going to push the manifest environment variables from the Java side instead of continually querying for them from the native side.
|
|
bb8c3a9c
|
2017-11-02T10:41:55
|
|
Make SDL fullscreen windows on Android actually fullscreen
|
|
522901b8
|
2017-11-02T08:46:14
|
|
Fixed bug 3933 - Android, no need of the listener thread
Sylvain
A listener thread has been added to know when the native thread would end.
But now, it is more easy to only check that after the main function has returned. It's one thread less.
|
|
8c465802
|
2017-11-01T18:41:11
|
|
Allow the activity to persist through connecting or disconnecting a keyboard
|
|
62c3acaf
|
2017-11-01T18:40:11
|
|
Moved the meta-data into the right section
|
|
a90be440
|
2017-11-01T10:06:58
|
|
Added controller mapping for Android TV remotes
Also fixed the back button on the remote exiting the application
|
|
4478707b
|
2017-10-31T13:49:59
|
|
Add SDL_GetDisplayDPI implementation on Android. (thanks Rachel!)
|
|
6d23ea4b
|
2017-10-29T21:09:09
|
|
Fixed Java string comparison with ""
|
|
8e37bed3
|
2017-10-26T10:41:38
|
|
android: Fix softkeyboard issue in SDL on Android.
|
|
8fd0c22a
|
2017-10-24T00:17:07
|
|
Added the ability to set SDL hints from AndroidManifest.xml (thanks Rachel!)
This is especially useful for things like the accelerometer hint which could be needed before application main().
|
|
45536710
|
2017-10-24T00:04:40
|
|
Fixed crash if mSurface isn't set up when we pause the application
|
|
81f7e0c1
|
2017-10-23T23:35:04
|
|
Removed unneeded file automatically generated by Android Studio
|
|
b8d8a1f1
|
2017-10-23T23:26:40
|
|
Updated the minimum and target SDK versions in AndroidManifest.xml
|
|
edf0fae1
|
2017-10-23T23:23:47
|
|
Updated Android build tools version, which bumped minimum deployment target to API 14
Also added native code to the Android gradle project, which allows using gradle or Android Studio to build the entire SDL application without a separate ndk-build step.
|
|
76cdce44
|
2017-10-23T23:23:34
|
|
Fixed build with older Android SDK
|
|
f08480af
|
2017-10-23T15:23:43
|
|
Switched to new style gradle Android application build process
|
|
c339d9ed
|
2017-10-20T10:29:22
|
|
Reverted changes 6acdea394736 and 1448a2ac30fe
I don't want to introduce any regressions with Android TV remote support
|
|
2001898d
|
2017-10-19T15:37:52
|
|
Fixed Android joystick detection
|
|
9d9be456
|
2017-10-19T13:54:56
|
|
Don't use DPAD devices as joystick input on Android
|
|
dff56c34
|
2017-10-13T19:55:07
|
|
Android Studio code analyzer fixes
|
|
14ed0d24
|
2017-09-23T12:37:09
|
|
Fixed bug 3843 - Android missing some code in SDLHapticHandler
Sylvain
Some check for android SDK version are missing from https://hg.libsdl.org/SDL/rev/3d7a29a369a0
here's a patch
|
|
82557750
|
2017-09-22T08:31:56
|
|
Separated out SDL Android java code so audio, controller, and filesystem APIs can be used independently of the SDL activity, in Qt apps for example.
|
|
53b2c91d
|
2017-09-22T08:30:46
|
|
Separated out SDL Android java code so audio, controller, and filesystem APIs can be used independently of the SDL activity, in Qt apps for example.
|
|
6c38c900
|
2017-08-31T15:12:08
|
|
Update Android SDK required to API level 16
Sylvain
Some API 16 methods are used (InputDevice: getDescriptor(), getVibrator()), so we need to compile at least with SDK API 16. Hence default.properties and project.properties have been modified to use android-16.
There are also some modification to SDLActivity.java not to use getVibrator() if we run under API 16. And not to check to presence of hasVibrator() if we are under API 11.
-some hard-coded constant can be expandend.
- rename a local variable (hasVibrator to hasVibratorService)
|
|
347fe704
|
2017-08-30T14:25:01
|
|
Fixed bug 3789 - Android : small clean up
Sylvain
Since https://hg.libsdl.org/SDL/rev/6546daa45a02
SDL_android_main.c is empty and then produce a warning
nativeInit does not exist and dont need to be mark undefined
|
|
c684eb2c
|
2017-08-28T23:04:47
|
|
Add a way to set the context when other activities are active so many SDL API functions still work.
|
|
60182eb7
|
2017-08-28T14:40:21
|
|
Allow overriding the main entry point on Android
|
|
dbb0a2aa
|
2017-08-28T14:34:15
|
|
Removed the need for libSDL2main.a on Android, and separated JNI initialization out for other integrations
|
|
2a945b44
|
2017-08-28T10:03:39
|
|
Fixed bug 2361 - [Android] Joysticks do not have unique IDs
David Brady
When I attempted to make a mapping file for Android gamepads, I quickly discovered that most of the ones that I have here show up as the same device (Broadcom Bluetooth HID), meaning that it was impossible to make mappings on Android, since every device looked the same.
This patch will check for the existence of the getDescriptor function added in Jelly Bean, and use it if it's there. The Android Dashboard says that the majority of Android phones should support this function, and doing it this way will not force us to bump up our API version.
|
|
c45932ba
|
2017-08-28T09:54:16
|
|
Fixed bug 2277 - Hardware keyboard control key sequences don't get reported
chw
Control key sequences from hardware keyboards (wireless/USB/bluetooth) get not properly reported on Android devices.
The attached patch uses the idea from http://stackoverflow.com/questions/12337117/capture-all-ctrl-under-android to make control key sequences appear as normal SDL_KEYDOWN events instead of cooked text input.
|
|
fe21a747
|
2017-08-27T18:43:52
|
|
Fixed bug 2266 - please add notifications for clipboard updates on Android
Sylvain
Hi! here's a patch for that with two class loaded regarding API level.
Test both case : before API 11 and after.
I also remove now unused GetSystemServiceFromUIThread() and minor clean-up (haptic warning prototype).
|
|
6885bc88
|
2017-08-27T18:36:54
|
|
Fixed bug 2265 - Voice to text feature on Android repeats some text via SDL_TEXTINPUT
Sylvain
Small patch for this issue. I tested it and it seems to work.
- it can send several backspaces (instead of only 1).
- it calls directly "sendKeyEvent()" instead of "super.sendKeyEvent()".
otherwise, it would go through the android internals, calling again "onKey()".
and then the "backspace" would arrive after the next "commitText()".
|
|
d03409e1
|
2017-08-14T06:18:08
|
|
Fixed bug 3191 - haptic system on android?
Sylvain
- add vibrator service in the list of haptic devices. I use an hard-coded device_id for it ...
|
|
e54eede2
|
2017-08-13T21:05:15
|
|
Provide the correct state of the on-screen keyboard to the API (patch from Sylvain)
|
|
6ee66139
|
2017-08-13T20:55:59
|
|
Fixed bug 3235 - Make the Android window creation similar to iOS' window creation
Sylvain
Here's a patch.
It tries to get the hint first. Resizable will allow any orientation. Otherwise it uses width/height window.
setOrientation method is splitted in static and non-static, so that it can be overloaded in a user subclass.
Some artefact observed :
surfaceChanged() can be called twice at the beginning. When the phone starts in portrait and run a landscape application.
|
|
0a52db54
|
2017-08-12T08:15:09
|
|
Fixed bug 3191 - haptic system on android?
Patch provided by jintiao and Milan Nikolic, thanks!
|
|
df5898b0
|
2017-08-11T13:37:40
|
|
Fixed bug 3464 - Fix for Android hint SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH
ny00
According to the current documentation in SDL_hints.h, if SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH is set to "0" (or not set at all) then mouse input should lead to touch events, along with corresponding *fake* mouse events with mouse id SDL_TOUCH_MOUSEID.
However, while moving a mouse around (actually using a trackpad identified as a mouse), I get SDL mouse motion events with differing mouse ids, as follows:
- If the mouse is moved while a mouse button is pressed, the mouse id is SDL_TOUCH_MOUSEID.
- Otherwise, the mouse id for mouse motion events is 0.
I've attached sample code for reference, which includes logs of the various mouse events (the "which" field is covered).
I believe that no actual mouse event should arrive, if the hint is unset. In particular, no mouse motion event should arrive while no mouse button is pressed.
I'm going to attach a patch which resolves this, while also disabling mouse wheel motion events.
|
|
a47bf374
|
2017-08-09T20:23:48
|
|
Fixed bug 3728 - [Android] crash when shared libraries are no loaded
Sylvain
On Android, when shared libraries are not correctly loaded (eg SDLActivity.mBrokenLibraries is true), there is a pop-up with an error message.
After user dismisses the pop-up, application crashes:
- because the native function "nativePause()" may no be loaded (if libSDL2.so is not loaded).
- because mSurface is null.
|
|
a9c7bc85
|
2017-05-19T15:06:05
|
|
android: add screenSize to AndroidManifest's configChanges (thanks, Daniel!).
Fixes Bugzilla #3448.
"Starting with Android API 13, another configuration change must be declared
to be handled by the app if it is desired to not let the system handle
rotation itself:
https://developer.android.com/guide/topics/resources/runtime-changes.html#HandlingTheChange
This will have effect if either a developer or SDL per default will set target
API > 12. Currently it is set to 12, but this might change in the future, like
when applying this patch: https://bugzilla.libsdl.org/show_bug.cgi?id=3445
The effect of not having this change applied is that the SDL app is destroyed
upon rotation. Even when the manifest has an additional entry to e.g. always
stay in landscape mode, the onDestroy() call will happen on devices that are
portrait per default, when switching off screen due to power save. The device
will then (at least try to) rotate into portrait to show the portrait screen
lock after resume.
I believe it is safe to apply this patch even with target API still set to 12,
the additional parameter is simply ignored."
|
|
366adae3
|
2017-04-07T20:17:30
|
|
android: More robust fix for screen locking in landscape (thanks, Sylvain!).
Fixes Bugzilla #3562.
From Sylvain:
"With an android landscape application, if you quickly lock, then unlock your
device, you can see sometimes a quick glitch: screen badly draws in portrait,
then it correctly displays in landscape.
Not talking of a smooth rotation, it's a drawing glitch. And you need to have
a plain lock screen, with no model nor passphrase.
I think it happens because the call to "nativeResume()" occurs sometimes too
early.
It should be done once you have *all* those three things (in any sequence):
- onWindowsFocusChanged() set to true
- onResume() called
- a valid call to onSurfaceChanged()
Currently, this is not the case: you don't need to have onResume() called.
Just need to have isPaused, (eg onPaused()).
So "isPaused" should be renamed as "isResumedCalled".
But you also need some kind of isPaused state to make sure to don't call
nativePause() twice (and deadlocks...).
There are also redundant checks to "mHasFocus" and some creation of the
initialisation thread code from onSurfaceChanged() that could me moved.
So here's this patch:
- add some states, so we have cleaner transitions.
- make sure "onResume()" is called.
- some clean up
- it also goes faster in pause state (focus changed, onPause, without requiring isSurfaceReady which does seems to be needed).
Tested on a few devices and it removes the glitch.
But I haven't tested when the activity goes back to "init" state."
|
|
2092a883
|
2017-03-31T23:43:53
|
|
android: fix wrong events when locking device in landscape (thanks, Joshua!).
"Using an application in portrait orientation, turning off the device would
dispatch SDL_APP_WILLENTERBACKGROUND, then SDL_APP_DIDENTERBACKGROUND then
lock the screen.
However, rotating the application the application to landscape, then turning
off the device would incorrectly dispatch SDL_APP_WILLENTERBACKGROUND,
SDL_APP_WILLENTERBACKGROUND, SDL_APP_WILLENTERFOREGROUND and then
SDL_APP_DIDENTERFOREGROUND before locking the screen. You can imagine how
this created trouble :)
It appears this occurs because (on this application) turning off a device
when in landscape is triggering a resize. The resize logic in SDLActivity
triggers a resume.
This patch has resolved the issue on my device:
It prevents the dispatch of (improper) FOREGROUND events when locking
the device, but we get still events when the device is turned back on
and unlocked."
|
|
01f66613
|
2017-01-12T10:58:35
|
|
fixed SENSOR_LANDSCAPE and SENSOR_PORTRAIT mode false nativeResume bug
|