Ryan C. Gordon
b262b0ebc9
Small stack allocations fall back to malloc if they're unexpectedly large.
2018-10-22 20:50:32 -04:00
Sam Lantinga
09ab752aa3
Implement SDL_HapticStopEffect on Android (thanks Rachel!)
2018-08-24 10:41:57 -07:00
Sam Lantinga
a003fa0a05
Implemented SDL_GetDisplayOrientation() on Android (thanks Rachel!)
2018-08-23 14:05:25 -07:00
Sam Lantinga
b0c48dd9dd
Support vibration magnitude on Android 8.0 (thanks Rachel!)
2018-10-16 08:29:27 -07:00
Sam Lantinga
f5a21ebf0c
Added support for surround sound and float audio on Android
2018-10-09 20:12:43 -07:00
Sam Lantinga
6f758ad25f
Moved SDL_IsTablet() to a cross-platform API function
2018-08-21 20:03:54 -07:00
Sam Lantinga
109544ca04
Add SDL_IsTablet() to Android and iOS SDL.
2018-08-21 11:23:47 -07:00
Sam Lantinga
ff8c9538bc
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
2018-07-12 13:28:13 -07:00
Sam Lantinga
74638ea3c5
Ensure we wait on the surface resize before returning from setting fullscreen mode.
2018-09-28 20:39:57 -07:00
Sam Lantinga
7df0f4fdac
Fixed bug 4277 - warnings patch
...
Sylvain
Patch a few warnings when using:
-Wmissing-prototypes -Wdocumentation -Wdocumentation-unknown-command
They are automatically enabled with -Wall
2018-09-27 14:56:29 -07:00
Sam Lantinga
e236e8435a
Fixed bug 4268 - Android_JNI_OpenAudioDevice function has error
...
alittle
where iscapture == 1
1.param set error
(*env)->CallStaticIntMethod(env, mAudioManagerClass, midCaptureOpen, sampleRate, audioBuffer16Bit, audioBufferStereo, desiredBufferFrames)
param:audioBuffer16Bit need change to captureBuffer16Bit
2.logic error
if (is16Bit) {
// ALITTLE Modify the source code
if (iscapture) {
audioBufferFrames = (*env)->GetArrayLength(env, (jshortArray)captureBuffer);
} else {
audioBufferPinned = (*env)->GetShortArrayElements(env, (jshortArray)audioBuffer, &isCopy);
audioBufferFrames = (*env)->GetArrayLength(env, (jshortArray)audioBuffer);
}
// if (!iscapture) {
// audioBufferPinned = (*env)->GetShortArrayElements(env, (jshortArray)audioBuffer, &isCopy);
// }
// audioBufferFrames = (*env)->GetArrayLength(env, (jshortArray)audioBuffer);
} else {
// ALITTLE Modify the source code
if (iscapture) {
audioBufferFrames = (*env)->GetArrayLength(env, (jbyteArray)captureBuffer);
} else {
audioBufferPinned = (*env)->GetByteArrayElements(env, (jbyteArray)audioBuffer, &isCopy);
audioBufferFrames = (*env)->GetArrayLength(env, (jbyteArray)audioBuffer);
}
// if (!iscapture) {
// audioBufferPinned = (*env)->GetByteArrayElements(env, (jbyteArray)audioBuffer, &isCopy);
// }
// audioBufferFrames = (*env)->GetArrayLength(env, (jbyteArray)audioBuffer);
}
2018-09-25 20:08:51 -07:00
Sam Lantinga
5febdfcece
Fixed whitespace
2018-09-24 11:49:25 -07:00
Sam Lantinga
a515853569
Added support for external mouse in Samsung DeX mode
...
relative mode doesn't work, but absolute coordinates are functional
2018-06-18 13:14:02 -07:00
Sam Lantinga
fe196db774
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.
2018-06-07 17:07:03 -07:00
Sam Lantinga
113801b790
Added SDL_IsChromebook() to determine if we're running on a Chromebook.
2018-06-05 12:46:13 -07:00
Sam Lantinga
2dedbc7262
Add Android support for relative mouse mode to SDL.
2018-06-05 12:46:11 -07:00
Sam Lantinga
f536fbea71
Reimplemented Android cursor API support using reflection so it builds with older SDKs
2018-03-16 11:08:53 -07:00
Sam Lantinga
e20d4173bf
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
2018-03-15 18:22:48 -07:00
Sam Lantinga
9e651b6915
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.
2018-03-06 14:51:50 -08:00
Sam Lantinga
6e01fbb763
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.
2018-02-11 18:23:37 -08:00
Sam Lantinga
6ed184ec69
Added SDL_IsAndroidTV()
2018-02-06 15:03:35 -08:00
Alex Szpakowski
3bfada2e02
Android: resolve symlinks in SDL_AndroidGetInternalStoragePath (thanks Henrique Gemignani and cigumo!)
...
Fixes issues on modern Android versions when the path is used in code that explicitly doesn't follow symlinks (such as PHYSFS_mkdir).
2018-01-10 19:56:51 -04:00
Sam Lantinga
e3cc5b2c6b
Updated copyright for 2018
2018-01-03 10:03:25 -08:00
Sam Lantinga
88e3562ba0
Use the included Khronos headers on Android so we can create Core OpenGL contexts when building with older SDK
2017-11-27 15:07:07 -08:00
Sam Lantinga
50e422adfe
Fixed bug 3917 - Android, issues with getManifestEnvironmentVariable
...
Sylvain
What about getting some return code instead of creating another native function.
2017-11-04 22:03:28 -07:00
Sam Lantinga
758156a765
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.
2017-11-04 09:37:29 -07:00
Sam Lantinga
1475e6984a
Fixed bug 3917 - Android, issues with getManifestEnvironmentVariable
...
Sylvain
Some issue with this commit:
https://hg.libsdl.org/SDL/rev/97387a8b88d3
There is a memory allocation missing.
2017-11-01 19:19:21 -07:00
Sam Lantinga
9192c93e90
Fixed bug 3932 - Android, GetDisplayDPI release local reference
...
Sylvain
When writing JNI code, one has to make sure all local references are released otherwise the app end up crashing.
2017-11-01 17:30:02 -07:00
Sam Lantinga
4478707b0a
Add SDL_GetDisplayDPI implementation on Android. (thanks Rachel!)
2017-10-31 13:49:59 -07:00
Sam Lantinga
213b249094
Added missing keyinfotable.h
2017-10-26 10:42:14 -07:00
Sam Lantinga
8e37bed3b6
android: Fix softkeyboard issue in SDL on Android.
2017-10-26 10:41:38 -07:00
Sam Lantinga
8fd0c22adc
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().
2017-10-24 00:17:07 -07:00
Sam Lantinga
53b2c91d26
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.
2017-09-22 08:30:46 -07:00
Sam Lantinga
aa85436ec7
Fixed compile warning
2017-08-28 14:45:19 -07:00
Sam Lantinga
da84c3bf6e
Added a log message for nativeRunMain()
2017-08-28 14:44:21 -07:00
Sam Lantinga
dbb0a2aa74
Removed the need for libSDL2main.a on Android, and separated JNI initialization out for other integrations
2017-08-28 14:34:15 -07:00
Sam Lantinga
2a945b44cb
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.
2017-08-28 10:03:39 -07:00
Sam Lantinga
fe21a74763
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).
2017-08-27 18:43:52 -07:00
Sam Lantinga
e9d4e31044
Fixed bug 3753 - Android : load methodID during initialization
...
Sylvain
Small patch to load some java methodID at start-up (and avoid a potential crash at run-time).
2017-08-14 14:14:45 -07:00
Sam Lantinga
e54eede265
Provide the correct state of the on-screen keyboard to the API (patch from Sylvain)
2017-08-13 21:05:15 -07:00
Sam Lantinga
6ee661398d
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.
2017-08-13 20:55:59 -07:00
Sam Lantinga
c086251266
Fixed bug 3128 - Removing all the static variables from android SDLActivity and accompanying JNI calls.
...
owen
I removed all the static variables from SDLActivity.java
Updated all the SDL_android.c jni calls as well
I added a new function to SDL_android.c/ h
void Android_JNI_SeparateEventsHint(const char* c);
This is called by SDL_androidtouch.c so that this TU doesn't need to call any JNI functions.
2017-08-12 12:24:59 -07:00
Sam Lantinga
0a52db54bd
Fixed bug 3191 - haptic system on android?
...
Patch provided by jintiao and Milan Nikolic, thanks!
2017-08-12 08:15:09 -07:00
Philipp Wiesemann
4b47fa38c3
Removed duplicate includes.
2017-06-04 23:15:47 +02:00
Philipp Wiesemann
fc436a3a9d
android: Moved internal function to new position.
...
It was grouped with functions for the public system header.
2017-06-03 23:00:40 +02:00
Philipp Wiesemann
189b5851b7
android: Fixed parameter list in function definitions.
2017-05-25 23:01:16 +02:00
Sam Lantinga
45b774e3f7
Updated copyright for 2017
2017-01-01 18:33:28 -08:00
Sam Lantinga
26f05ecb4d
Fixed missing prototypes on Android, patch from Sylvain
2016-12-02 02:25:12 -08:00
Philipp Wiesemann
85588ea040
Android: Fixed two warnings about unused variables.
2016-09-21 23:06:26 +02:00
Philipp Wiesemann
9581d4a585
Android: Fixed misleading warning in log output (thanks, Sylvain!).
...
Fixes Bugzilla #3418 .
2016-08-30 21:15:18 +02:00
Ryan C. Gordon
8f0af77354
android: implement audio capture support.
2016-08-11 22:04:49 -04:00
Philipp Wiesemann
58b323f192
Android: Fixed missing export of a JNI function (thanks, Andrii!).
...
Fixes Bugzilla #3393 .
2016-07-17 21:43:12 +02:00
Eric Wing
704298c0c2
Android: C89 cleanup to avoid warnings/errors since the default gcc mode on Android is still pre-C99.
2016-02-09 17:36:42 -08:00
Ryan C. Gordon
881ccccbcf
Android: Fixed up drop events for new interface.
2016-01-05 05:31:33 -05:00
Sam Lantinga
42065e785d
Updated copyright to 2016
2016-01-02 10:10:34 -08:00
Philipp Wiesemann
10daf1f4d3
Android: Removed three internal functions not used by SDL.
...
They were not needed internally since the switch to the common EGL backend.
Thanks to the SDL mailing list for pointing out that the functions seem unused.
2015-09-27 20:12:47 +02:00
Philipp Wiesemann
efad04c317
Android: Added check if Java method for APK expansion file exists.
2015-09-18 21:26:46 +02:00
Philipp Wiesemann
6e7c479ec2
Android: Fixed trying to read from APK expansion files without version hint set.
...
This also fixed overwriting the asset error message which is more useful if no
APK expansion files are available and the requested file was not found.
2015-09-17 22:30:24 +02:00
Philipp Wiesemann
92ca42d940
Android: Renamed SDLActivity's Java method used for APK expansion files.
...
The name was not correct.
2015-09-17 22:24:54 +02:00
Philipp Wiesemann
e8757e873e
Android: Changed return type of four JNI functions from int to jint.
2015-09-05 20:21:52 +02:00
Philipp Wiesemann
0e45984fa0
Fixed crash if initialization of EGL failed but was tried again later.
...
The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly
uninitialized data structure if loading the library first failed. A later try to
use EGL then skipped initialization and assumed it was previously successful
because the data structure now already existed. This led to at least one crash
in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was
dereferenced to make a call to eglBindAPI().
2015-06-21 17:33:46 +02:00