summaryrefslogtreecommitdiff
path: root/platform/android/SCsub
AgeCommit message (Collapse)Author
2022-01-26Include the `godot_plugin_jni.cpp` file into the `platform/android/SCsub` fileFredia Huya-Kouadio
This should resolve https://github.com/godotengine/godot/issues/57209
2021-08-13Switch to input buffering on AndroidPedro J. Estébanez
Key, touch and joystick events will be passed directly from the UI thread to Godot, so they can benefit from agile input flushing. As another consequence of this new way of passing events, less Java object are created at runtime (`Runnable`), which is good since the garbage collector needs to run less. `AndroidInputHandler` is introduced to have a smaller cross-thread surface. `main_loop_request_go_back()` is removed in favor just inline calling `send_window_event()` at the most caller's convenience (i.e., leveraging the new `p_deferred`` parameter as appropriate). Lastly, `get_mouse_position()` and `get_mouse_button_state()` now just call through `Input` to avoid the need of sync of mouse data tracked on the UI thread.
2021-06-10Remove unused AudioDriverAndroid from AndroidMarcel Admiraal
2020-12-18SCons: Add explicit dependencies on thirdparty code in cloned envRémi Verschelde
Since we clone the environments to build thirdparty code, we don't get an explicit dependency on the build objects produced by that environment. So when we update thirdparty code, Godot code using it is not necessarily rebuilt (I think it is for changed headers, but not for changed .c/.cpp files), which can lead to an invalid compilation output (linking old Godot .o files with a newer, potentially ABI breaking version of thirdparty code). This was only seen as really problematic with bullet updates (leading to crashes when rebuilding Godot after a bullet update without cleaning .o files), but it's safer to fix it everywhere, even if it's a LOT of hacky boilerplate.
2020-12-09Remove unused FileAccessJAndroid.Fabio Alessandrelli
2020-12-08Android: Allow Mouse Capture thebestnom
2020-04-08Display Server supportPouleyKetchoupp
2020-04-03Vulkan rendering for AndroidPouleyKetchoupp
2020-03-30SCons: Format buildsystem files with psf/blackRémi Verschelde
Configured for a max line length of 120 characters. psf/black is very opinionated and purposely doesn't leave much room for configuration. The output is mostly OK so that should be fine for us, but some things worth noting: - Manually wrapped strings will be reflowed, so by using a line length of 120 for the sake of preserving readability for our long command calls, it also means that some manually wrapped strings are back on the same line and should be manually merged again. - Code generators using string concatenation extensively look awful, since black puts each operand on a single line. We need to refactor these generators to use more pythonic string formatting, for which many options are available (`%`, `format` or f-strings). - CI checks and a pre-commit hook will be added to ensure that future buildsystem changes are well-formatted.
2020-03-18Removed unused code in android detect.py and SCsubunknown
2020-03-05Re-architecture of the Godot Android plugin.fhuya
2020-03-05Provides a base implementation of the Vulkan surface view (VkSurfaceView.kt) ↵fhuya
and its accompanying components. The implementation is meant to be extended and updated in order to integrate it with the existing Godot java and native codebase.
2020-03-04Miscellaneous cleanup for the Android codebase:fhuya
- update gradle plugins versions - add formatting rules for AndroidManifest and gradle build files - cleanup java_godot_lib_jni Note: logic was mostly moved around and no new logic/functionality was added.
2020-02-14Remove incomplete battery status/power APIRémi Verschelde
It was initially implemented in #5871 for Godot 3.0, but never really completed or thoroughly tested for most platforms. It then stayed in limbo and nobody seems really keen to finish it, so it's better to remove it in 4.0, and re-add eventually (possibly with a different API) if there's demand and an implementation confirmed working on all platforms. Closes #8770.
2019-12-14Add Android NetSocket implementation.Fabio Alessandrelli
Automatically acquire and release multicast lock when needed.
2019-09-04Split the Android platform java logic into an Android library module (`lib`) ↵fhuya
and an application module (`app`). The application module `app` serves double duties of providing the prebuilt Godot binaries ('android_debug.apk', 'android_release.apk') and the Godot custom build template ('android_source.zip').
2019-08-29SCons: Generate android_source.zip during buildRémi Verschelde
This is now needed after #27781, as this android_source.zip template is used for custom Android builds from the editor.
2019-08-27Android: Style fixes to manifest and build.gradleRémi Verschelde
2019-07-30Android: Drop support for NDK < r15Rémi Verschelde
NDK r15c was released over two years ago (July 2017), and we cannot build against r14b anyway as it seems to fail with our setup to link the STL.
2019-07-20Removed an unused commitunknown
2019-07-03SCons: Use CPPDEFINES instead of CPPFLAGS for pre-processor definesRémi Verschelde
It's the recommended way to set those, and is more portable (automatically prepends -D for GCC/Clang and /D for MSVC). We still use CPPFLAGS for some pre-processor flags which are not defines.
2019-06-19Deprecate armv6 support for Androidfhuya
2019-04-07Android now (optionally) builds the template when exportingJuan Linietsky
Added new way to create add-ons Removed old way to create add-ons
2019-04-06Remove unused importsHendrikto
2019-04-05Restructuring glue code to make it easier to extendBastiaan Olij
2019-01-16Android: Add support for x86_64 architectureRémi Verschelde
Like arm64v8, this is only supported by API 21 and later, so we enforce 21 as min API for x86_64. Part of #25030.
2018-12-20Android: Better identify thirdparty C/C++ codeRémi Verschelde
- The `cpu-features.{c,h}` code was only used by chance by the webm (libvpx) code, so I moved it there. It was actually introduced before that and wasn't in use, and libvpx just happened to be able to compile thanks to it being bundled. It could potentially be compiled on the fly from the Android NDK, but since we plan to replace the webm module by a GDNative plugin in the near future, I went the bundling route. - `ifaddrs_android.h` is already provided in the Android NDK as `ifaddrs.h`, same as on other Unixes. Yet we cannot use it until we up the min API level to 24, where `getifaddrs` is first defined. I moved the files to `thirdparty/misc` and synced them with upstream WebRTC (only indentation changes and removal of `static` qualifiers). Also removes dropped thirdparty files from COPYRIGHT.txt after changes in #24105 and #24145.
2018-12-18Fix lint error/warning while building android templatevolzhs
2018-12-02Remove obsolete ANDROID_NATIVE_ACTIVITYBastiaan Olij
2018-10-03Fix warnings in Android platformRémi Verschelde
Fixes the following Clang 7 warnings: ``` platform/android/os_android.h:240:16: warning: 'OS_Android::native_video_play' hides overloaded virtual function [-Woverloaded-virtual] platform/android/os_android.h:241:15: warning: 'OS_Android::native_video_is_playing' hides overloaded virtual function [-Woverloaded-virtual] platform/android/audio_driver_opensl.cpp:104:3: warning: suggest braces around initialization of subobject [-Wmissing-braces] platform/android/audio_driver_opensl.cpp:129:10: warning: unused variable 'numOutputs' [-Wunused-variable] platform/android/audio_driver_opensl.cpp:130:11: warning: unused variable 'deviceID' [-Wunused-variable] platform/android/java_glue.cpp:795:10: warning: unused variable 'clsio' [-Wunused-variable] platform/android/java_glue.cpp:890:12: warning: unused variable 'gob' [-Wunused-variable] platform/android/java_glue.cpp:592:13: warning: unused variable 'resized' [-Wunused-variable] platform/android/java_glue.cpp:593:13: warning: unused variable 'resized_reload' [-Wunused-variable] modules/mobile_vr/mobile_vr_interface.cpp:401:8: warning: unused variable 'aspect_ratio' [-Wunused-variable] drivers/unix/dir_access_unix.cpp:394:2: warning: THIS IS BROKEN [-W#warnings] ```
2018-09-28SCons: Build thirdparty code in own env, disable warningsRémi Verschelde
Also remove unnecessary `Export('env')` in other SCsubs, Export should only be used when exporting *new* objects.
2018-08-23add support libc++_shared stl on androidRidwan Abdul Hafidh
2018-07-05added 'android_add_asset_dir('...') method to Android module gradle build configPatrick Kaster
(cherry picked from commit 9190ae2be7068c8a84f60766a2f7c1da3e0bcd4b)
2018-03-11Properly closing all files in Python codeViktor Ferenczi
2018-01-03Update android build tool to latestvolzhs
2017-11-28disable caching for targets using helper functionsRhody Lugo
2017-11-28use the same cache for all branches for appveyorRhody Lugo
2017-10-07flatDir support [Android]Ramesh Ravone
2017-09-20Set Android minSdkVersion to 18Ruslan Mustakov
It's the minimum version where GLES 3 API is available. It is already the version Godot binary is compiled with for Android, but the config files were not updated in time.
2017-08-27Make build scripts Python3 compatibleMatthias Hoelzl
- The Windows, UWP, Android (on Windows) and Linux builds are tested with Scons 3.0 alpha using Python 3. - OSX and iOS should hopefully work but are not tested since I don't have a Mac. - Builds using SCons 2.5 and Python 2 should not be impacted.
2017-07-25Add support for ARMv8 (64-bit) on AndroidPedro J. Estébanez
2017-04-10Android: avoiding duplicates in build.gradleRamesh Ravone
2017-04-09Android: Support to change minSdkVersion (#8313)Ramesh Ravone
2017-03-21Export template management dialog.Juan Linietsky
Missing download (need to discuss this!)
2017-03-18android: adding classpath and gradle pluginsRamesh Mani Maran
2017-03-05support for multiple maven urlRamesh Mani Maran
2017-03-04Add API to access battery power stateJulian Murgia
Done: - X11, server (tested) - Windows (developed, would be nice to retest) - OSX (not tested) Prepared (not developed): - Android (code is here, but may not compile) - iphone - winrt - bb10 - haiku - javascript
2016-11-01style: Fix PEP8 whitespace issues in Python filesRémi Verschelde
Done with `autopep8 --select=E2,W2`, fixes: - E201 - Remove extraneous whitespace. - E202 - Remove extraneous whitespace. - E203 - Remove extraneous whitespace. - E211 - Remove extraneous whitespace. - E221 - Fix extraneous whitespace around keywords. - E222 - Fix extraneous whitespace around keywords. - E223 - Fix extraneous whitespace around keywords. - E224 - Remove extraneous whitespace around operator. - E225 - Fix missing whitespace around operator. - E226 - Fix missing whitespace around operator. - E227 - Fix missing whitespace around operator. - E228 - Fix missing whitespace around operator. - E231 - Add missing whitespace. - E231 - Fix various deprecated code (via lib2to3). - E241 - Fix extraneous whitespace around keywords. - E242 - Remove extraneous whitespace around operator. - E251 - Remove whitespace around parameter '=' sign. - E261 - Fix spacing after comment hash. - E262 - Fix spacing after comment hash. - E265 - Format block comments. - E271 - Fix extraneous whitespace around keywords. - E272 - Fix extraneous whitespace around keywords. - E273 - Fix extraneous whitespace around keywords. - E274 - Fix extraneous whitespace around keywords. - W291 - Remove trailing whitespace. - W293 - Remove trailing whitespace.
2016-11-01style: Start applying PEP8 to Python files, indentation issuesRémi Verschelde
Done with `autopep8 --select=E1`, fixes: - E101 - Reindent all lines. - E112 - Fix under-indented comments. - E113 - Fix over-indented comments. - E115 - Fix under-indented comments. - E116 - Fix over-indented comments. - E121 - Fix a badly indented line. - E122 - Fix a badly indented line. - E123 - Fix a badly indented line. - E124 - Fix a badly indented line. - E125 - Fix indentation undistinguish from the next logical line. - E126 - Fix a badly indented line. - E127 - Fix a badly indented line. - E128 - Fix a badly indented line. - E129 - Fix a badly indented line.
2016-10-17SCsub: Add python shebang as a hint for syntax highlightingRémi Verschelde
Also switch existing shebangs to "better" /usr/bin/env python.