android-project


Log

Author Commit Date CI Message
Ryan C. Gordon 8da7e8ad 2015-04-08T01:37:17 Log Android hardware at startup (thanks, rettichschnidi!). Fixes Bugzilla #2653.
Joseba Garc?a Etxebarria 41961e4f 2015-04-02T00:55:45 Cast the result of calling getButtonState to an Integer
Ryan C. Gordon f9041771 2015-04-01T12:14:56 Android: more separate-mouse-and-touch work. This avoids a hint lookup for each mouse event we get by setting a static Java variable from native code during our hint watcher callback. Also attempts to do the right thing with mouse buttons if you happen to be on an API14 (Ice Cream Sandwich, Android 4.0) or later device. We still target API12 (Honeycomb MR1, Android 3.1) for SDL 2.0.4 though. This isn't tested, so I'm pushing to see what the Android buildbot says. Stand back, I'm a professional!
Joseba Garc?a Etxebarria 73990628 2015-03-27T18:09:51 Renamed SDLGenericMotionListener back to SDLGenericMotionListener_API12
Philipp Wiesemann 37672303 2015-03-25T22:47:22 Android: Removed outdated comment from source.
Joseba Garc?a Etxebarria ca7b18e4 2015-03-24T21:02:28 * More Android patch work
Joseba Garc?a Etxebarria 387fa5dc 2015-03-24T20:45:29 * Improve mouse support in Android. These changes require Android API v12 to compile
Edward Rudd b88ca1b4 2015-02-10T16:28:56 the last parameter of XChangeProperty is the number of elements.. and when the element format is 32.. the element is "long" so we have 5 long elements here. Yes this seems confusing as on mac+linux Long is either 32 or 64bits depending on the architecture, but this is how the X11 protocol is defined. Thus 5 is the correct value for the nelts here. Not 5 or 10 depending on the architecture. More info on the confusion https://bugs.freedesktop.org/show_bug.cgi?id=16802
Philipp Wiesemann 7815393b 2015-01-31T10:32:45 Fixed wrong comment in implementation for Android.
Philipp Wiesemann b48e54aa 2015-01-26T22:00:29 Fixed bug 2802 - [patch] Fix android build compiling in wrong filesystem implementation Jonas Kulla The configure script didn't differentiate between Linux and Android, unconditionally compiling in the unix implementation of SDL_sysfilesystem.c. I'm probably one of the very few people building SDL for android using classic configure + standalone toolchain, so this has gone undetected all along.
Philipp Wiesemann a26a4e9e 2015-01-23T20:29:08 Fixed bug 2816 - [patch] Android: Expose screen refresh rate Jonas Kulla Display::getRefreshRate() is available on all API levels.
David Ludwig 70438be2 2014-12-03T10:55:23 WinRT: fixed bug whereby SDL would override an app's default orientation WinRT apps can set a default, preferred orientation via a .appxmanifest file. SDL was overriding this on app startup, and making the app use all possible orientations (landscape and portrait). Thanks to Eric Wing for the heads up on this!
Philipp Wiesemann c121ff7f 2014-11-23T20:35:51 Added name for second Java Thread on Android.
Philipp Wiesemann 9c398852 2014-11-22T22:20:40 Corrected header file documentation comment.
Philipp Wiesemann 1745116f 2014-10-24T11:53:34 Fixed bug 2759 - Android findLibrary() returns NULL Sylvain extra patch with minor modifications: - typo - cancel-able set to false - add the error message, so that the user can report it.
Philipp Wiesemann bc382e39 2014-10-23T16:45:18 Added an option to define libraries to be loaded on Android in a derived class. This way it is no more needed to modify SDLActivity.java to add own libraries.
Philipp Wiesemann 775a8026 2014-10-23T16:41:01 Fixed alert dialog for not loaded libraries on Android being cancelable. If the alert dialog could be canceled the Activity would not be finished here. Also setting the property to "true" would be redundant because that is default.
Philipp Wiesemann 425a06a9 2014-10-23T16:39:15 Fixed missing @Override annotation warning in source for Android.
Philipp Wiesemann 4a67627e 2014-10-23T16:38:03 Fixed upper case button in alert dialog for not loaded libraries on Android. This is more consistent with the buttons of other dialogs on Android.
Philipp Wiesemann d4bdd246 2014-10-23T16:34:48 Fixed typo in message of alert dialog for not loaded libraries on Android.
Philipp Wiesemann 391c31cf 2014-10-23T16:33:27 Fixed writing new errors to standard output instead of error output on Android.
Philipp Wiesemann 85bed095 2014-10-23T16:31:02 Fixed documentation in source for Android.
Gabriel Jacobo 34a85f4d 2014-10-21T11:44:35 [Android] #2759: Show a message on failure to load a .so library (by Sylvain)
Philipp Wiesemann 5f193f0c 2014-10-20T22:19:09 Fixed setting of screen saver state crashing on some version of Android. Setting Window flags seems to affect Views and must be handled on UI thread.
Gabriel Jacobo 79035b39 2014-10-20T10:10:39 Bug 2739 - [Android] No support for SDL_DisableScreenSaver by Martin Gerhardy
Philipp Wiesemann ec4dfdfc 2014-10-17T23:36:45 Fixed bug 2476 - Allow custom main() arguments rettichschnidi I would like to pass custom arguments from my Java code (subclass of SDLActivity) to the native SDL2 binary.
Philipp Wiesemann 51a07ade 2014-09-25T20:56:27 Fixed broken layout for buttons with configured color in messagebox on Android.
Philipp Wiesemann 788a2e45 2014-09-24T23:46:46 Added setting configured color to button texts for messagebox on Android.
Gabriel Jacobo e7f2f85c 2014-09-17T08:59:43 [Android] Fixes #2679 - Crash resuming from screen off Before destroying the static Java-side data, wait for the SDL native thread, *and* the listener thread that waits on it to trigger a clean up.
Philipp Wiesemann 0fbd904a 2014-09-14T19:44:53 Fixed key down closing messagebox dialog instead of key up on Android. This fixed sending key up event to SDL a dialog closed by down did not consume.
Sam Lantinga 5f39ea89 2014-09-13T02:15:18 Fixed bug 2415 - Message Boxes aren't implemented on Android Philipp Wiesemann I attached a patch for an incomplete implementation of the messagebox parts. It was not tested on lots of devices yet and features a very fragile workaround to block the calling SDL thread while the dialog is handled on Android's UI thread. Although it works for testmessage.c I assume there are lot of situations were it may fail (standby, device rotation and other changes). Also not all flags and colors are implemented. On the other hand most uses of the messagebox are to show an error on start and fragility (or working at all) may not matter there.
Pierre-Loup A. Griffais 24c86b55 2014-09-11T19:24:42 [X11] Reconcile logical keyboard state with physical state on FocusIn since the window system doesn't do it for us like other platforms. This prevents sticky keys and missed keys when going in and out of focus, for example Alt would appear to stick if switching away from an SDL app with Alt-Tab and had to be pressed again. CR: Sam
Philipp Wiesemann 197a7cae 2014-08-12T23:33:16 Fixed warning about implicit boxing to Java Object.
Philipp Wiesemann a0252149 2014-08-11T23:16:47 Added javadoc comment for consistency.
Sam Lantinga e8d84fbf 2014-06-21T20:35:36 Merged changes from Alexey Petruchik to support Android obb files http://developer.android.com/google/play/expansion-files.html
Sam Lantinga 047c19ce 2014-06-15T19:32:39 Fixed bug 2558 - Missing FINGERUP in Android Sylvain If you play with the TouchScreen with +3 fingers randomly / pressing simultaneously all fingers. You triggers FINGER DOWN events, but not always all the associated FINGER UP events. So, after a while SDL_GetNumFingers() can report a wrong number of fingers pressed ! The explanation is hidden there : http://developer.android.com/reference/android/view/MotionEvent.html Each pointer has a unique id that is assigned when it first goes down (indicated by ACTION_DOWN or ACTION_POINTER_DOWN). A pointer id remains valid until the pointer eventually goes up (indicated by ACTION_UP or ACTION_POINTER_UP) or when the gesture is canceled (indicated by ACTION_CANCEL). in ACTION_CANCEL : The current gesture has been aborted. You will not receive any more points in it. You should treat this as an up event, but not perform any action that you normally would. Constant Value: 3 (0x00000003)
Philipp Wiesemann ef3887ec 2014-06-08T13:14:20 Changed two Java nested classes into static nested classes. Both do not need an implicitly created reference to enclosing class.
Philipp Wiesemann f29ac399 2014-05-29T23:05:18 Added javadoc comments to document methods used by JNI.
Philipp Wiesemann eac27bcd 2014-05-29T22:58:06 Added javadoc comments to prevent unused parameter warning.
Philipp Wiesemann 1f111f3d 2014-05-29T22:53:53 Fixed implicit boxing and unboxing of Java Objects warning.
Gabriel Jacobo d5a2e55d 2014-05-10T18:24:39 Improve handling of focus behaviour on Android. Patch by Alexey Petruchik
stopiccot 25313c3b 2014-04-30T23:05:05 added comment
stopiccot 3727528e 2014-04-30T22:51:29 access google apk library through reflection
stopiccot 3cdae42d 2014-04-23T03:42:32 Fixing issues discovered by Philipp Wiesemann
David Ludwig 3dcb451f 2014-04-09T21:29:19 Added a README file regarding WinRT support To note, this file is currently formatted with CRLF line endings, rather than LF, to allow the file to be viewed with Notepad.
stopiccot 612f4a69 2014-04-07T21:20:39 inital apk extension support
Philipp Wiesemann 2d8b86bb 2014-04-05T23:24:33 Fixed unused local variable warning.
Gabriel Jacobo cf119f78 2014-02-12T18:12:14 Try to work around Android's handling of static variables in terminated apps Android, we want to love you, but you don't make it easy for us...
dbrady 109fe0e0 2014-01-28T15:28:20 fixed hat code validation.
Philipp Wiesemann 03747567 2014-01-26T23:50:35 Removed unused variable from Java class for Android. The audio thread was moved to native side and "protected" prevented a warning.
Gabriel Jacobo e78be5da 2014-01-24T09:54:04 Bug 2358 - [Android] Sort joystick axes - Fix by David Brady
Philipp Wiesemann 92855371 2013-12-24T20:04:53 Fixed missing @Override annotation warning in source for Android.
Gabriel Jacobo bfcd28c1 2013-12-10T16:24:11 [Android] Hotplugging support for joysticks
Gabriel Jacobo 77d2d55e 2013-12-05T10:51:38 [Android] Handle native thread finishing when not commanded from the Java side
Gabriel Jacobo f848adff 2013-11-29T10:06:08 Improve Android pause/resume behavior.
Sam Lantinga 2bb344d6 2013-11-27T10:29:27 Don't crash when no WM is present. CR: Sam Lantinga.
Gabriel Jacobo 1ad0d248 2013-11-25T12:28:09 [Android] Fixes #2228, reworked touch code Lets Android take care of which is the primary pointer (the one acting as the mouse in SDL), reorganized the Java side code as well to make it easier to understand.
Philipp Wiesemann c9331664 2013-11-23T23:38:16 Fixed bug 2258 - Crash when using Android clipboard chw The Android clipboard manager methods must be called from the UI thread, otherwise crashes of the dalvikvm happen.
Gabriel Jacobo 45dbff2e 2013-11-22T10:26:28 [Android] Fixes #2247, enable hardware acceleration by default. Setting android:hardwareAccelerated="true" seems to fix some random behaviors in certain devices like the XperiaE. Ref: http://developer.android.com/guide/topics/graphics/hardware-accel.html
Gabriel Jacobo 47139fb3 2013-11-19T10:56:38 Adds testgles2 Source code copied from: https://github.com/fantasydr/sdl-2.0-gles (thanks!) Minor fixes, configure script changes done by me.
Gabriel Jacobo fdfea4ad 2013-11-19T10:00:05 [Android] Try to improve handling of DPAD|GAMEPAD + KEYBOARD devices It seems some devices report themselves as DPAD or GAMEPAD and KEYBOARD as well, and we need to route different keycodes to different parts of SDL.
Gabriel Jacobo 04afd61c 2013-11-11T11:12:43 [Android] Try to improve handling of some dpad+gamepad+keyboard corner cases
Gabriel Jacobo 6dbed827 2013-11-11T10:59:15 [Android] Fixes Bug 2031 - Backspace Not Sending Events From On-Screen Keyboard Thanks Joe LeVeque!
Gabriel Jacobo d37bad52 2013-11-11T10:49:48 [Android] Improve handling of keyboard, dpad and gamepad events Thanks Dimitris Zenios for the report!
Gabriel Jacobo 45a88b6a 2013-11-11T10:15:35 [Android] Fixes bug 2217, better joystick axes handling on Android.
Philipp Wiesemann 842a9898 2013-11-10T17:50:40 Fixed joystick crash on Android if joystick subsystem not initialized.
Philipp Wiesemann 305f64ba 2013-11-10T17:44:51 Replaced search loop with indexOf() in Java file.
Philipp Wiesemann bbf0f62b 2013-11-10T17:42:01 Replaced implicit boxing with explicit boxing in Java file.
Philipp Wiesemann 2d671781 2013-11-10T17:40:26 Renamed a class in Java file for consistency.
Philipp Wiesemann 802f83ff 2013-11-10T17:38:03 Removed not needed imports from Java file.
Philipp Wiesemann d6c1e381 2013-11-10T17:35:07 Added missing @Override annotations in Java file.
Philipp Wiesemann 26ce68e8 2013-11-10T15:04:58 Changed motion listener implementation not to inherit from Activity class.
Philipp Wiesemann fda8d934 2013-11-10T14:58:48 Moved two function calls so they are only called if needed. If the MotionEvent is not from joystick the return values are not needed.
Gabriel Jacobo 22770a8f 2013-11-06T11:23:24 [Android] Fixes Bug 2041 - can't get SDL_QUIT event... Thanks to Denis Bernard! Also, changed the Android manifest so the app doesn't quit with orientation changes, and made testgles.c exit properly on Android.
Gabriel Jacobo 0b7c69fe 2013-11-05T20:07:39 Adds Joystick support for Android This bumps the build SDK level to 12 (up from 10). Runtime requirements remain the same (at API level < 12 joystick support is disabled). Also enables building SDL for armv7 and x86.
Sam Lantinga 5697089d 2013-10-20T23:52:02 Fixed bug 2156 - Android: Accelerometer values fed to joystick driver are inverted for the X axis and wrong for Z Denis Bernard Background information: http://developer.android.com/reference/android/hardware/SensorEvent.html#values Steps to reproduce: compile testjoystick.c as an android app (change screen size according to your device). While running the app, also run: adb logcat -c; adb logcat -s 'SDL:*' 'SDL/APP:*' When tilting the device left/right, the joystick moves in the opposite direction of what one would expect. Or at least, the behaviour is not consistent with the Y axis. Also when the device sits on a table (obviously not moving), the Z axis value oscillates between -32000 and +32000 (by overflow): I/SDL/APP ( 1994): Joystick 0 axis 2 value: 32511 I/SDL/APP ( 1994): Joystick 0 axis 2 value: 32575 I/SDL/APP ( 1994): Joystick 0 axis 2 value: 32383 I/SDL/APP ( 1994): Joystick 0 axis 2 value: -32386 I/SDL/APP ( 1994): Joystick 0 axis 2 value: -32450 I/SDL/APP ( 1994): Joystick 0 axis 2 value: -32578 This is caused by the accelerometer yielding a constant value around 9.81 for Z and feeding something like 0.9 to 1.1 to the joystick driver, resulting in the overflow. Proposed fix in SDLActivity.java (swap X and subtract G from Z reading)
Sam Lantinga 7ae171d1 2013-10-17T23:44:30 Fixed bug 2155 - automatically remap accelerometer coordinates according to screen orientation on Android Denis Bernard Background information: http://android-developers.blogspot.fr/2010/09/one-screen-turn-deserves-another.html and http://developer.android.com/reference/android/hardware/SensorEvent.html Right now, the Android accelerometer event handler feeds raw accelerometer data to the SDL Joystick driver. The result is that for landscape-only applications, the axis need to be swapped if running on a portrait device (like a phone), and vice-versa: running a portrait only app on a landscape device like a tablet. The purpose of this patch is to perform coordinate remapping of the accelerometer data before feeding it to the SDL joystick driver so that the X axis of the joystick is always aligned with the X axis of the display, same for the Y axis. This has been tested on applications that support screen orientation changes as well as applications with fixed screen orientations, both on phones and tablets.
Sam Lantinga 4349cb57 2013-10-10T21:51:39 Fixed bug 2146 - Enable static linking of libSDL on Android Denis Bernard This patch to Android.mk adds support for static linking of libSDL for Android applications. A patched readme with static build instructions is also provided. It does not break existing build environments setup according to the README-android.txt since the static library version will not be built in not required. The static build uses the Android NDK module system (see docs/IMPORT-MODULE.html in the NDK folder and step 5 in the instructions below). Instructions: 1. Copy the android-project directory wherever you want to keep your projects and rename it to the name of your project. 2. Create a symlink to SDL/src/main/android/SDL_android_main.c as <project>/jni/src/SDL_android_main.c 3. Rename <project>/jni/src/Android_static.mk to <project>/jni/src/Android.mk (overwrite the existing one) 4. Edit <project>/jni/src/Android.mk to include your source files 5. create and export an environment variable named NDK_MODULE_PATH that points to the parent directory of this SDL directory. e.g.: export NDK_MODULE_PATH="$PWD"/.. 6. Edit <project>/src/org/libsdl/app/SDLActivity.java and remove the call to System.loadLibrary("SDL2") line 42. 7. Run 'ndk-build' (a script provided by the NDK). This compiles the C source Although this requires an environment variable to be setup, it can be added once and for all to the main Android.mk of the project.
Philipp Wiesemann 0db36f51 2013-10-05T17:08:19 Added detection of touch devices before first touch events happen on Android. On Android available touch devices are now added with video initialization (like the keyboard). This fixes SDL_GetNumTouchDevices() returning 0 before any touch events happened although there is a touch screen available. The adding of touch devices after a touch event was received is still active to allow connecting devices later (if this is possible) and to provide a fallback if the new init did not work somehow. For the implementation JNI was used and API level 9 is required. There seems to be nothing in the Android NDK's input header (input.h) to implement everything on C side without communication with Java side.
Gabriel Jacobo cc122ce5 2013-08-22T10:22:22 Fixes #2036 and #2038, bypass camera zoom and shutter keypresses on Android.
Gabriel Jacobo 0eeb76d8 2013-08-19T16:29:46 Fixes bug #2037, common EGL code for Android and X11
Gabriel Jacobo dad42067 2013-08-12T11:13:50 Fixes #2022, do not resume on Android when surfaceChanged If the app is in landscape mode and the user presses the power button, a pause is followed immediately by a surfaceChanged event because the lock screen is shown in portrait mode. This triggers a "false" resume. So, we just pause and resume following the onWindowFocusChanged events. Also, wait for SDL_APP_WILLENTERBACKGROUND and SDL_APP_DIDENTERBACKGROUND before blocking the event pump.
Sam Lantinga 1ad936eb 2013-08-11T19:56:43 Fixed bug 2027 - Full-screen appears to be broken - hang in SDL_DestroyWindow() Rainer Deyke I'm running Linux Mint 15 with the Cinnamon window manager. SDL_DestroyWindow consistently locks up for me when the window if fullscreen.