android-project


Log

Author Commit Date CI Message
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.