summaryrefslogtreecommitdiff
path: root/platform/android
AgeCommit message (Collapse)Author
2022-12-04Use system fonts as fallback and improve system font handling.bruvzg
Add support for font weight and stretch selection when using system fonts. Add function to get system fallback font from a font name, style, text, and language code. Implement system font support for Android. Use system fonts as a last resort fallback.
2022-11-30Updating the minimum Android target api for proper Vulkan supportFredia Huya-Kouadio
2022-11-29Enable GLES3 on Androidclayjohn
Add necessary build flags and switch from using a GLES2 context to a GLES3 one. This also enables building for OpenXR Co-authored-by: m4gr3d <fhuyakou@gmail.com> Co-authored-by: dsnopek <dsnopek@gmail.com>
2022-11-27Add missing display server overridesFredia Huya-Kouadio
Improves the base functionality for the Android platform and helps reduce the amount of spurious error logs emitted.
2022-11-25Android: Remove extra arch suffix now redundant with the default oneRémi Verschelde
We would needlessly get file names like `*.arm64.armv8.o`.
2022-11-17Fix parsing of the `keep_screen_on` display settingFredia Huya-Kouadio
2022-11-17Android: Fix parsing `keep_screen_on` settingRémi Verschelde
Boolean stringification changed in Godot 4.0. Fixes #67034. Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-11-16Fix 'save & restart' logic for the Android EditorFredia Huya-Kouadio
2022-11-14Merge pull request #68657 from Sauermann/fix-redundant-initializationRémi Verschelde
Remove redundant non-trivial Variant types initializations
2022-11-14Fix periods in editor strings and messagesHugo Locurcio
- Ensure all strings with ellipsis end with 3 periods instead of 2. - Fix extraneous period in "Error calling from signal '...' to callable" messages.
2022-11-14Remove redundant Variant-types initializationsMarkus Sauermann
2022-11-10Upgrade Android gradle plugin to version 7.2.1Fredia Huya-Kouadio
2022-11-08Add support for OpenGL to OpenXRDavid Snopek
2022-11-08Merge pull request #68362 from bruvzg/android_gdeRémi Verschelde
[Android] Fix GDExtension export and loading.
2022-11-08[Android] Fix GDExtension export and loading.bruvzg
2022-11-07Small set of fixes to the input logicFredia Huya-Kouadio
2022-11-05Fix wrong android key mapping.HolonProduction
Fixes the wrong mapping of `Key::HOME`. Androids `KEYCODE_HOME` is in fact the hardware home button the right mapping is `KEYCODE_MOVE_HOME`. Also adds mappings to keys that were not present before.
2022-10-31Merge pull request #67879 from bruvzg/fix_no_vlkRémi Verschelde
Fix build with Vulkan disabled and no Vulkan headers installed.
2022-10-31Merge pull request #67578 from KoBeWi/GEDITORRémi Verschelde
Unify usage of GLOBAL/EDITOR_GET
2022-10-31Merge pull request #67581 from aaronfranke/android-floatRémi Verschelde
Use proper types for converting Java float/double arrays in Android code
2022-10-28Merge pull request #67790 from kdada/fix-flash-windowClay John
Make creating window do not flicker when specify custom position
2022-10-26Fix build with Vulkan disabled and no Vulkan headers installed.bruvzg
2022-10-24Make window creation with custom position do not flashWei Guo
2022-10-22Add double_tap attribute to InputEventScreenTouchFredia Huya-Kouadio
This provides parity with the `InputEventMouseButton` allowing for proper conversion between the two events.
2022-10-18Delete Android godot-lib with the old naming schemeFredia Huya-Kouadio
Update the `clean` task configuration: running `gradlew clean` will now properly delete the generated build artifacts
2022-10-18Unify usage of GLOBAL/EDITOR_GETkobewi
2022-10-18Use proper types for converting Java float/double arrays in Android codeAaron Franke
2022-10-17Merge pull request #67259 from lucasnlm/optimiza-android-exportFredia Huya-Kouadio
Optimize Android export process
2022-10-14Make some Image methods statickobewi
2022-10-11Revert changeLucas Lima
2022-10-11Optimize Android export processLucas Lima
2022-10-11Use `JSON::stringify` where possibleMicky
2022-10-10SCons: Re-enable treating `#warning` as error with `werror`Rémi Verschelde
Replace all TODO uses of `#warning` by proper TODO comments, and will open matching bug reports to keep track of them. We don't have a great track record fixing TODOs, but I'd wager we're even worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-07Harmonize return values of window_create() in rendering driversPedro J. Estébanez
2022-10-05Merge pull request #66946 from m4gr3d/cursor_shape_logic_cleanup_mainFredia Huya-Kouadio
Cleanup of the Android cursor shape logic
2022-10-05Cleanup of the Android cursor shape logicFredia Huya-Kouadio
2022-10-05Merge pull request #66941 from winterpixelgames/bugfix-android-null-input-eventFredia Huya-Kouadio
Fix null in android keyboard handling.
2022-10-05Fix null in android keyboard handling.Jason Knight
2022-10-05Fix the gradle build configuration for the Android platform following ↵Fredia Huya-Kouadio
https://github.com/godotengine/godot/pull/66242
2022-10-05Merge pull request #64819 from RandomShaper/enhance_thread_funcsRémi Verschelde
Enhance portability of threading
2022-10-04Enhance portability of threadingPedro J. Estébanez
2022-10-04Merge pull request #66807 from ↵Rémi Verschelde
akien-mga/core-unix-remove-NO_FCNTL-and-NO_STATVFS Unix: Remove now unnecessary I/O defines, cleanup
2022-10-03Unix: Remove now unnecessary I/O defines, cleanupRémi Verschelde
- `LIBC_FILEIO_ENABLED` wasn't defined anywhere, even in _other platforms_. - `NO_NETWORK` is also never defined. It probably isn't enough anyway to disable network APIs in the current codebase. - `UNIX_SOCKET_UNAVAILABLE` is never defined in this code but used by some other platforms, clarify that. - `NO_STATVFS` can be removed as Android supports it since API level 19, which is our current min SDK level. It's also only used for `DirAccessUnix::get_space_left()` which is anyway overridden by `DirAccessJAndroid::get_space_left()` so it shouldn't make a difference. * Fixed documentation for `DirAccess.get_space_left()`. - `NO_FCNTL` is likely also a remnant of early Android days, in current NDK r23 it seems to be available. Also cleaned up unused `fcntl.h` includes. - `NO_ALLOCA` is never defined, and we use alloca in many places now.
2022-10-03Remove unsupported `NO_SAFE_CAST`/`-fno-rtti` from Android buildRémi Verschelde
Android was the last platform to still attempt to disable RTTI (for binary size), but both the Android editor and now the ICU library used by templates need RTTI. There could still be the possibility to support this for non-ICU template builds (i.e. without the TextServerAdvanced module), but since this isn't one of the build configurations we test regularly it's pretty risky to keep this option only for that specific use case. And our code is already littered with `dynamic_cast`s which weren't guarded with `!defined(NO_SAFE_CAST)`.
2022-09-30ci: add Python static analysis check via mypyJiri Suchan
2022-09-26SCons: Unify tools/target build type configurationRémi Verschelde
Implements https://github.com/godotengine/godot-proposals/issues/3371. New `target` presets ==================== The `tools` option is removed and `target` changes to use three new presets, which match the builds users are familiar with. These targets control the default optimization level and enable editor-specific and debugging code: - `editor`: Replaces `tools=yes target=release_debug`. * Defines: `TOOLS_ENABLED`, `DEBUG_ENABLED`, `-O2`/`/O2` - `template_debug`: Replaces `tools=no target=release_debug`. * Defines: `DEBUG_ENABLED`, `-O2`/`/O2` - `template_release`: Replaces `tools=no target=release`. * Defines: `-O3`/`/O2` New `dev_build` option ====================== The previous `target=debug` is now replaced by a separate `dev_build=yes` option, which can be used in combination with either of the three targets, and changes the following: - `dev_build`: Defines `DEV_ENABLED`, disables optimization (`-O0`/`/0d`), enables generating debug symbols, does not define `NDEBUG` so `assert()` works in thirdparty libraries, adds a `.dev` suffix to the binary name. Note: Unlike previously, `dev_build` defaults to off so that users who compile Godot from source get an optimized and small build by default. Engine contributors should now set `dev_build=yes` in their build scripts or IDE configuration manually. Changed binary names ==================== The name of generated binaries and object files are changed too, to follow this format: `godot.<platform>.<target>[.dev][.double].<arch>[.<extra_suffix>][.<ext>]` For example: - `godot.linuxbsd.editor.dev.arm64` - `godot.windows.template_release.double.x86_64.mono.exe` Be sure to update your links/scripts/IDE config accordingly. More flexible `optimize` and `debug_symbols` options ==================================================== The optimization level and whether to generate debug symbols can be further specified with the `optimize` and `debug_symbols` options. So the default values listed above for the various `target` and `dev_build` combinations are indicative and can be replaced when compiling, e.g.: `scons p=linuxbsd target=template_debug dev_build=yes optimize=debug` will make a "debug" export template with dev-only code enabled, `-Og` optimization level for GCC/Clang, and debug symbols. Perfect for debugging complex crashes at runtime in an exported project.
2022-09-26Style: Cleanup header guards for consistencyRémi Verschelde
Fix file names for {Static,Lightmap}RaycasterEmbree.
2022-09-23SCons: Cleanup `DEBUG`, `_DEBUG` and `NDEBUG` definesRémi Verschelde
- `_DEBUG` is MSVC specific so it didn't make much sense to define for Android and iOS builds. - iOS was the only platform to define `DEBUG`. We don't use it anywhere outside thirdparty code, which we usually don't intend to debug, so it seems better to be consistent with other platforms. - Consistently define `NDEBUG` to disable assert behavior in both `release` and `release_debug` targets. This used to be set for `release` for all platforms, and `release_debug` for Android and iOS only. - Due to the above, I removed the only use we made of `assert()` in Godot code, which was only implemented for Unix anyway, should have been `DEV_ENABLED`, and is in PoolAllocator which we don't actually use. - The denoise and recast modules keep defining `NDEBUG` even for the `debug` target as we don't want OIDN and Embree asserting all over the place.
2022-09-23SCons: Remove redundant `-fomit-frame-pointer` and `-ftree-vectorize`Rémi Verschelde
- `-fomit-frame-pointer` is included automatically by both GCC and Clang in `-O1` and above. - `-ftree-vectorize` is included automatically by GCC in `-O2` and beyond, and seems always enabled by Clang. Closes #66296. See that issue for a detailed investigation.
2022-09-20Merge pull request #65745 from akien-mga/scons-production-lto-earlierRémi Verschelde
Refactor handling of `production` flag and per-platform LTO defaults