|
209f457e
|
2022-07-01T10:13:19
|
|
Generate backspaces for the text we're going to replace when committing text
|
|
7ac5d616
|
2022-07-01T08:58:08
|
|
Fixed backspace being delivered after committed text on Android 12
Testing:
Enter "hello ", followed by "?" - the events generated are:
: commitText hello
: Key pressed : scancode 11 = H, keycode 0x00000068 = H modifiers: (none)
: Key released: scancode 11 = H, keycode 0x00000068 = H modifiers: (none)
: Key pressed : scancode 8 = E, keycode 0x00000065 = E modifiers: (none)
: Key released: scancode 8 = E, keycode 0x00000065 = E modifiers: (none)
: Key pressed : scancode 15 = L, keycode 0x0000006C = L modifiers: (none)
: Key released: scancode 15 = L, keycode 0x0000006C = L modifiers: (none)
: Key pressed : scancode 15 = L, keycode 0x0000006C = L modifiers: (none)
: Key released: scancode 15 = L, keycode 0x0000006C = L modifiers: (none)
: Key pressed : scancode 18 = O, keycode 0x0000006F = O modifiers: (none)
: Key released: scancode 18 = O, keycode 0x0000006F = O modifiers: (none)
: Key pressed : scancode 44 = Space, keycode 0x00000020 = Space modifiers: (none)
: Key released: scancode 44 = Space, keycode 0x00000020 = Space modifiers: (none)
: INPUT Text (\x68\x65\x6c\x6c\x6f\x20): "hello "
: finishComposingText
: deleteSurroundingText 1 / 0
: Key pressed : scancode 42 = Backspace, keycode 0x00000008 = Backspace modifiers: (none)
: Key released: scancode 42 = Backspace, keycode 0x00000008 = Backspace modifiers: (none)
: commitText ?
: Key pressed : scancode 225 = Left Shift, keycode 0x400000E1 = Left Shift modifiers: LSHIFT
: Key pressed : scancode 56 = /, keycode 0x0000002F = / modifiers: (none)
: Key released: scancode 56 = /, keycode 0x0000002F = / modifiers: (none)
: Key released: scancode 225 = Left Shift, keycode 0x400000E1 = Left Shift modifiers: (none)
: INPUT Text (\x3f): "?"
: setComposingText , at 1
: EDIT Text (): ""
Previously, the backspace would be delivered after the "?"
|
|
37a517dc
|
2022-06-29T18:10:01
|
|
Re-enable IME text input on Android
In my testing, this results in text edit events followed by text input events. Any ASCII characters will generate scancode events based on a hypothetical US keyboard layout.
Fixes https://github.com/libsdl-org/SDL/issues/3377
|
|
68beedde
|
2022-06-16T22:16:11
|
|
SDLActivity.java: Compatibility fix for debugSource
I did these fixes a while ago while debuggin my application, however, forgot to send them back.
|
|
5b41844c
|
2022-02-09T09:50:41
|
|
Fixed bug #5322 - register virtual input devices as SDL_Touch device, fix compilation
|
|
3a9bbf60
|
2022-02-09T09:37:36
|
|
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.
|
|
59f1e287
|
2022-02-08T18:00:58
|
|
Android: add debug function to display class/sources
|
|
2df2da11
|
2022-02-08T17:51:40
|
|
Android: handleMotionEvent() is checking for SOURCE_JOYSTICK. So don't handle DPAD GAMEPAD (see #5322, #2718)
|
|
1fc5dba3
|
2022-02-08T17:41:17
|
|
Android: test for SOURCE_KEYBOARD / SOURCE_MOUSE. Don't compare to 0, since there are several bits (see #5322, #2718)
|
|
68dd84f1
|
2022-02-08T11:42:24
|
|
Android: TouchDevice -1 is reserved for SDL synthetic devce (See #5322)
|
|
14bc3bf4
|
2022-02-07T22:20:05
|
|
Android: fix typo to register TOUCHSCREEN device (see #5322, #2718)
|
|
b59e75c2
|
2022-02-02T19:21:34
|
|
Handle menu button press from controller
|
|
2363ddc3
|
2021-12-28T17:30:36
|
|
Fixed crash on Windows Subsystem for Android, which doesn't have a USB manager.
Fixes https://github.com/libsdl-org/SDL/issues/5133
|
|
a1e992b1
|
2021-12-21T22:07:17
|
|
Fixed bug #5118 - [Android] PointerIcon leak in Cursor API
|
|
cd86e269
|
2021-11-20T19:40:26
|
|
Fixed bug #4982 - Failed to open audio_device. Android 5.1 should be ok.
|
|
b6d36567
|
2021-11-20T15:28:36
|
|
Fixed bug #4982 - Failed to open audio_device on Android 5.x with freq 96khz+
|
|
66058bbb
|
2021-11-15T16:52:56
|
|
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
|
|
be5b4d98
|
2021-11-15T16:52:54
|
|
Added nativeGetHintBoolean for Java code
|
|
c2dd50a9
|
2021-11-12T08:28:02
|
|
Fixed whitespace
|
|
97c71371
|
2021-11-12T01:21:29
|
|
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
|
|
544d2e6a
|
2021-11-11T20:47:19
|
|
Don't try to load hidapi at startup on Android
|
|
ed05a0e9
|
2021-11-11T20:33:02
|
|
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.
|
|
c877dd93
|
2021-11-11T19:29:42
|
|
The hidapi code is now built into SDL, we don't need to load a shared library for it
|
|
dd85cc01
|
2021-11-07T13:17:54
|
|
Fixed whitespace
|
|
80d19282
|
2021-08-19T11:40:09
|
|
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".
|
|
8b1a2fe8
|
2021-10-17T23:47:59
|
|
backout SDL_AndroidSetInputType()
|
|
ccb12457
|
2021-10-17T23:17:54
|
|
Fixed bug #4843 - Can not get the ime candidatelist like chinese/japaness input method
|
|
325ae5c3
|
2021-10-13T08:35:56
|
|
Android: getCurrentOrientation uses getContext() to retrieve the activity (see bug #4825)
|
|
723f5cea
|
2021-10-12T20:58:58
|
|
Fixed bug #4825 - NullPointerException on SDLActivity.getCurrentOrientation() (Thanks Benau!)
|
|
98a966d1
|
2021-04-22T18:06:17
|
|
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)
|
|
6d9c4f6c
|
2021-03-26T15:07:10
|
|
Added support for the wired Amazon Luna gamepad on Android
|
|
f5e9c5b7
|
2021-02-21T11:03:25
|
|
Chromebooks support relative mouse motion now
|
|
1a924bc0
|
2021-02-19T12:54:57
|
|
add SDL_AndroidShowToast for https://developer.android.com/reference/android/widget/Toast
|
|
70325397
|
2021-01-07T19:33:12
|
|
Disabled Bluetooth if BLE is not supported
BluetoothManager is supported for Android API 18+. On older versions, skip
Bluetooth instead of crashing.
|
|
cdd39711
|
2020-12-15T14:57:49
|
|
Fixed the Xbox Series X controller showing up twice on Android
|
|
311ae829
|
2020-10-28T14:03:05
|
|
Android: keep compatibility with older JDK
|
|
97cf3145
|
2020-10-27T21:14:49
|
|
Android: apply code simplications found with lint / Android Studio
|
|
0360987f
|
2020-10-24T20:31:04
|
|
Android: fix deprecated onCreateDialog() methods
|
|
96704168
|
2020-10-24T15:36:05
|
|
Android: fix Clipboard deprecated methods
|
|
b7b8ef59
|
2020-10-07T17:32:07
|
|
Fixed bug 5307 - Crash when joysticks hats number is odd (Thanks Sockmonsters!)
|
|
bffbc7e3
|
2020-10-07T14:55:23
|
|
Android: better readibility for pollHapticDevices()
|
|
20c070d8
|
2020-10-07T14:41:37
|
|
Android: better readibility for pollInputDevices()
and move isDeviceSDLJoystick() test at first since there are
always non-joystick devices present.
|
|
a70bb58d
|
2020-10-05T14:09:31
|
|
Android: fix joystick allocation that can be never used
|
|
2e38c949
|
2020-10-05T09:56:03
|
|
Fix bug 5303 - Touch/Mouse events simulation doesn't work on Android 11
|
|
0467e332
|
2020-10-01T15:11:28
|
|
Android: small change to access to device diagonal value
|
|
62b029f3
|
2020-10-01T14:43:59
|
|
Android: missing import class Uri
|
|
dd55bfe8
|
2020-10-01T14:41:09
|
|
Android: add helper function to open an URL/URI (see bug 2783)
|
|
7ad71563
|
2020-09-25T10:42:07
|
|
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
|
|
96d555e2
|
2020-08-17T20:09:01
|
|
Android: remove un-needed java import (bug 4297)
|
|
965b466e
|
2020-08-17T19:50:20
|
|
Fixed bug 4297 - Android StrictMode policy. Remove APK expansion support
"In the second half of 2021, new apps will be required to publish with the Android App Bundle on Google Play"
(see https://developer.android.com/guide/app-bundle)
And "Android App Bundles don't support APK expansion (*.obb) files".
|
|
d0947c14
|
2020-06-04T12:30:25
|
|
Fixed exception if getManifestEnvironmentVariables() is called without a current SDL activity
|
|
68e1731e
|
2020-05-29T15:40:17
|
|
Don't bother logging security exception getting the device serial number
This can happen anytime we haven't opened the device yet
|
|
eea450bc
|
2020-05-29T15:37:03
|
|
- Added exception handler for the new SecurityException in USBDevice getSerialNumber
|
|
33642b47
|
2020-05-08T21:50:23
|
|
Android: robustness if locale failed to be detected at start
|
|
2491f16f
|
2020-05-08T21:40:28
|
|
Android: send SDL_LOCALECHANGED when locale changes
|
|
beab15b0
|
2020-04-27T19:12:02
|
|
Added additional logging to track down why the NVIDIA controller doesn't send the back button
|
|
37faac0d
|
2020-03-05T08:43:16
|
|
Fixed java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.WindowManager android.app.Activity.getWindowManager()' on a null object reference
|
|
14bf532d
|
2020-02-13T16:10:52
|
|
Fixed opening audio on Android from the Steam Link shell activity
|
|
4bb95e84
|
2020-02-11T16:14:02
|
|
Implemented OpenSL-ES audio recording on Android
|
|
64c58b9f
|
2020-02-07T20:20:37
|
|
Fixed NullPointerException
|
|
c9c89783
|
2020-01-29T20:09:08
|
|
Miscellaneous pending fixes
|
|
598cf694
|
2020-01-28T21:41:13
|
|
Fixed member order to make more sense
|
|
43b377b0
|
2020-01-28T17:11:17
|
|
Fixed wired PS4 controller support on Android
|
|
ce7c51a9
|
2020-01-26T00:37:48
|
|
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
|
|
43aa1fa9
|
2020-01-18T11:21:14
|
|
Added support for detecting previously unknown Xbox 360 and Xbox One controllers using the HIDAPI driver with libusb and Android
|
|
d52ba78b
|
2020-01-17T12:04:18
|
|
Fixed bug 4246 - Android: orientation between portrait<->landscape doesn't work
Improve handling of landscape/portrait orientation. Promote to SCREEN_ORIENTATION_SENSOR_* when needed.
Android window can be somehow resizable.
If SDL_WINDOW_RESIZABLE is set, window size change is allowed, for instance when orientation changes (provided the hint allows it).
|
|
1d321850
|
2020-01-13T15:35:52
|
|
Added support for claiming individiual interfaces on USB devices on Android
This is needed for supporting multiple wireless Xbox 360 controllers
|
|
a7bf6af8
|
2020-01-11T04:34:23
|
|
The Amlogic TVB-906X is Android TV
|
|
f050309e
|
2019-12-20T15:58:59
|
|
Android: fix IllegalStateException in onBackPressed()
Rare exception, not catch-able, which appears when the activity gets in a broken
state.
java.lang.IllegalStateException:
at android.app.FragmentManagerImpl.checkStateLoss (FragmentManagerImpl.java:1323)
at android.app.FragmentManagerImpl.popBackStackImmediate (FragmentManagerImpl.java:493)
at android.app.Activity.onBackPressed (Activity.java:2215)
at org.libsdl.app.SDLActivity.onBackPressed (SDLActivity.java)
at android.app.Activity.onKeyUp (Activity.java:2193)
at android.view.KeyEvent.dispatch (KeyEvent.java:2685)
at android.app.Activity.dispatchKeyEvent (Activity.java:2423)
at org.libsdl.app.SDLActivity.dispatchKeyEvent (SDLActivity.java)
|
|
15d30298
|
2019-12-19T15:01:32
|
|
Added support for wireless Xbox 360 controllers using the HIDAPI driver
|
|
5d5a5671
|
2019-12-19T13:54:03
|
|
Fixed bug 4906 - Pressing Back button terminates app after SDL_StartTextInput
|
|
7b2826f6
|
2019-12-17T12:03:57
|
|
Added Android support for the Hyperkin X91 and the SteelSeries Stratus Duo
|
|
d4e1c797
|
2019-11-27T17:17:03
|
|
Backed out changeset 36b79874a9c8, which fixed bug 4775
This change broke individual key events, so I'm reverting the change until we can investigate a better fix.
|
|
59352cea
|
2019-10-23T11:25:16
|
|
Fixed bug 4775 - Japanese on Android, remove inputtype PASSWORD (Thanks Tamo!)
|
|
7f9016f2
|
2019-08-15T20:38:25
|
|
Android: remove tabs/indent
|
|
e92fe23c
|
2019-08-02T17:20:00
|
|
Fix nullptr crash on android
nullcheck the device coming back from InputDevice.getDevice(deviceId) in new code added to sdlactivity.onkey.
java.lang.NullPointerException:
at org.libsdl.app.SDLSurface.onKey (SDLActivity.java:1793)
at android.view.View.dispatchKeyEvent (View.java:13321)
at android.view.ViewGroup.dispatchKeyEvent (ViewGroup.java:1912)
at android.view.ViewGroup.dispatchKeyEvent (ViewGroup.java:1912)
at android.view.ViewGroup.dispatchKeyEvent (ViewGroup.java:1912)
at android.view.ViewGroup.dispatchKeyEvent (ViewGroup.java:1912)
at com.android.internal.policy.DecorView.superDispatchKeyEvent (DecorView.java:685)
at com.android.internal.policy.PhoneWindow.superDispatchKeyEvent (PhoneWindow.java:1869)
at android.app.Activity.dispatchKeyEvent (Activity.java:3447)
at org.libsdl.app.SDLActivity.dispatchKeyEvent (SDLActivity.java:496)
@dang @saml @dave
|
|
f994da0e
|
2019-07-03T13:37:54
|
|
Fixed bug 4702 - Android back button does not send SDL_KEYDOWN event
fallback when event.getSource() is SOURCE_UNKNOWN
|
|
5418d416
|
2019-06-18T11:35:30
|
|
Android: prevent ignoring surfaceChanged() in MultiWindow
|
|
4392c6ff
|
2019-06-11T11:01:15
|
|
Android: fix coordinates for Surface.ROTATION_180
https://discourse.libsdl.org/t/android-screen-orientation-issues-2-0-9/26262
|
|
45a3dd17
|
2019-06-11T10:19:26
|
|
Android: revert wrong fix typo calling onBackPressed() (Bug 4657)
|
|
f9a9193e
|
2019-06-10T21:58:03
|
|
Android: add MinimizeWindow function (Bug 4580, 4657)
shouldMinimizeOnFocusLoss is un-activated (return false)
|
|
3f4e189b
|
2019-06-10T21:41:22
|
|
Android: fix typo calling onBackPressed() (Bug 4657)
|
|
8b57331e
|
2019-05-23T11:05:43
|
|
Fixed hiding the Android virtual keyboard when the return key is pressed
|
|
f91b8785
|
2019-05-23T09:08:40
|
|
Android: minimum size for IME, so that it takes focus
In API 28, 0 width views can't take focus, so if someone tries to position the IME without setting a width, they'll stop getting text events.
Tested on Android 9: with a 0 size, it would send correctly letters a, b, c, etc. but not numbers.
|
|
f5252530
|
2019-04-23T14:08:14
|
|
Change my previous fix based on feedback from dev @saml
|
|
ecce803d
|
2019-04-23T12:59:28
|
|
Fix compile errors I hit when building org.libsdl in source2 (part 2 of 2) @saml
|
|
45b5453b
|
2019-04-23T12:59:20
|
|
Fix compile errors I hit when building org.libsdl in source2 (part 1 of 2)
|
|
9950271b
|
2019-04-22T16:19:52
|
|
Fixed bug 4580 - Android 8: immersive fullscreen notification causes flickering between fullscreen and non-fullscreen and app is unresponsive
Sylvain 2019-04-18 21:22:59 UTC
Changes:
- SDL_WINDOWEVENT_FOCUS_GAINED and SDL_WINDOWEVENT_FOCUS_LOST are sent when the java method onWindowFocusChanged() is called.
- If we have support for MultiWindow (eg API >= 24), SDL event loop is blocked/un-blocked (or simply egl-backed-up or not), when java onStart()/onStop() are called.
- If not, this behaves like now, SDL event loop is blocked/un-blocked when onPause()/onResume() are called.
So if we have two app on screen and switch from one to the other, only FOCUS events are sent (and onPause()/onResume() are called but empty. onStart()/onStop() are not called).
The SDL app, un-focused, would still continue to run and display frames (currently the App would be displayed, but paused).
Like a video player app or a chronometer that would still be refreshed, even if the window hasn't the focus.
It should work also on ChromeBooks (not tested), with two apps opened at the same time.
I am not sure this fix Dan's issue. Because focus lost event triggers Minimize function (which BTW is not provided on android).
https://hg.libsdl.org/SDL/file/bb41b3635c34/src/video/SDL_video.c#l2653
https://hg.libsdl.org/SDL/file/bb41b3635c34/src/video/SDL_video.c#l2634
So, in addition, it would need to add by default SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS to 0.
So that the lost focus event doesn't try to minimize the window. And this should fix also the issue.
|
|
cf87d576
|
2019-04-16T20:00:14
|
|
Explicitly load hidapi as a dependency of the SDL library
This fixes loading on Android 4.2
|
|
bfdd0b22
|
2019-04-04T17:01:02
|
|
Android: remove SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH
java layer runs as if separate mouse and touch was 1,
Use SDL_HINT_MOUSE_TOUCH_EVENTS and SDL_HINT_TOUCH_MOUSE_EVENTS
for generating synthetic touch/mouse events
|
|
3bc1a8b6
|
2019-03-13T14:08:21
|
|
Android: minor comment update
|
|
9d10c738
|
2019-01-17T16:30:19
|
|
Android: remove duplicate code in SDLGenericMotionListener_API24
and use parent method
|
|
55838d8b
|
2019-01-17T14:59:46
|
|
Android: remove another hard-coded constant for Samsung DeX (no op!)
|
|
56f4a711
|
2019-01-17T13:42:13
|
|
Android: minor change in the evaluation of SOURCE_CLASS_JOYSTICK (no op!)
InputDevice.SOURCE_CLASS_* are one bit
More readable to check that the source has this class_joystick set,
compared to the other statements, where the source is gamepad or dpad.
(Clean-up from bug 3958)
|
|
8f828a8e
|
2019-01-17T12:25:19
|
|
Android: remove hard-coded constant for Samsung DeX (no op!)
12290 = 0x3002 = SOURCE_MOUSE | SOURCE_TOUCHSCREEN
SOURCE_MOUSE Constant Value: 8194 (0x00002002)
SOURCE_TOUCHSCREEN Constant Value: 4098 (0x00001002)
SOURCE_CLASS_POINTER Constant Value: 2 (0x00000002)
https://developer.android.com/reference/android/view/InputDevice.html
|
|
e5f8801f
|
2019-01-17T11:05:05
|
|
Android: prevent concurrency in Android_SetScreenResolution() when exiting
by checking Android_Window validity
- SDLThread: user application is exiting:
SDL_VideoQuit() and clearing SDL_GetVideoDevice()
- ActivityThread is changing orientation/size
surfaceChanged() > Android_SetScreenResolution() > SDL_GetVideoDevice()
- Separate function into Android_SetScreenResolution() and Android_SendResize(),
formating, and mark Android_DeviceWidth/Heigh as static
|
|
291f6006
|
2019-01-16T09:22:20
|
|
Android: merge SDLJoystickHandler_API12 and SDLJoystickHandler_API16
|
|
a8675416
|
2019-01-16T09:12:31
|
|
Android: remove trailing spaces
|
|
d86de288
|
2019-01-16T09:11:13
|
|
Android: remove old code after Android-16 has been set as minimum requirement
|
|
dc263450
|
2019-01-14T23:33:48
|
|
Android: create Pause/ResumeSem semaphore at higher level than CreateWindow()
- If you call onPause() before CreateWindow(), SDLThread will run in infinite loop in background.
- If you call onPause() between a DestroyWindow() and a new CreateWindow(), semaphores are invalids.
SDLActivity.java: the first resume() starts the SDLThread, don't call
nativeResume() as it would post ResumeSem. And the first pause would
automatically be resumed.
|