summaryrefslogtreecommitdiff
path: root/platform/android
AgeCommit message (Collapse)Author
2021-10-31Use OpenGL 3.3 core profile instead of compatibility profileClay John
- Rename OpenGL to GLES3 in the source code per community feedback. - The renderer is still exposed as "OpenGL 3" to the user. - Hide renderer selection dropdown until OpenGL support is more mature. - The renderer can still be changed in the Project Settings or using the `--rendering-driver opengl` command line argument. - Remove commented out exporter code. - Remove some OpenGL/DisplayServer-related debugging prints.
2021-10-30Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3Hugo Locurcio
- Use lowercase driver names for the `--rendering-driver` command line argument.
2021-10-30Add GLES2 2D renderer + Linux display managerlawnjelly
First implementation with Linux display manager. - Add single-threaded mode for EditorResourcePreview (needed for OpenGL). Co-authored-by: clayjohn <claynjohn@gmail.com> Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
2021-10-28clang-format: Enable `BreakBeforeTernaryOperators`Rémi Verschelde
clang-format keeps breaking the way it handles break *after* ternary operators, so I give up and go with the only style they seem to actually test.
2021-10-28clang-format: Various fixes to comments alignment from `clang-format` 13Rémi Verschelde
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28clang-format: Disable alignment of operands, too unreliableRémi Verschelde
Sets `AlignOperands` to `DontAlign`. `clang-format` developers seem to mostly care about space-based indentation and every other version of clang-format breaks the bad mismatch of tabs and spaces that it seems to use for operand alignment. So it's better without, so that it respects our two-tabs `ContinuationIndentWidth`.
2021-10-26Android: Properly validate `godot_project_name_string` for Android special charsRémi Verschelde
Fixes #52659.
2021-10-23Fix Gradle builds not excluding excluded tasksMarcel Admiraal
2021-10-21Remove unimplemented methodsMarcel Admiraal
2021-10-15SCons: Set `DEBUG_ENABLED` and `DEV_ENABLED` in SConstructRémi Verschelde
They're the same for all platforms so they don't need to be repeated in all platform definitions.
2021-10-14Upgrade Android Gradle to version 7.2Marcel Admiraal
2021-10-14SCons: Add `DEV_ENABLED` defines for `target=debug` buildsRémi Verschelde
This will allow adding developer checks which will be fully compiled out in user builds, unlike `DEBUG_ENABLED` which is included in debug tempates and the editor builds. This define is not used yet, but we'll soon add code that uses it, and change some existing `DEBUG_ENABLED` checks to be performed only in dev builds. Related to godotengine/godot-proposals#3371.
2021-10-12Build for 64-bit ARM by default when compiling or exporting for AndroidHugo Locurcio
All Android devices that support Vulkan support 64-bit ARM. This also removes NEON opt-out code for ARMv7 as pretty much all ARMv7 devices also support NEON.
2021-10-11Pass the correct `export_format` argument to locate the assets directory ↵ne0fhyk
when exporting.
2021-10-09Implement get_cache_path() for iOS, and improve it for Android and WindowsPedro J. Estébanez
2021-09-15Add support for Play Asset Delivery.ne0fhyk
This only adds support for a subset of Play Asset Delivery: this causes a single install-time asset pack to always be present, but doesn't add support for dynamically downloaded asset packs.
2021-09-11Add logo attribution for Android, HTML5 and Linux platform iconsHugo Locurcio
- Tweak the Android platform logo to remove the Android wordmark, as it can't be used without explicit permission.
2021-09-08Use current androidx Fragment library instead of legacy librariesMarcel Admiraal
2021-09-07Merge pull request #47391 from Calinou/platform-feature-tags-lowercaseJuan Linietsky
Make platform feature tag names lowercase
2021-09-01Merge pull request #52159 from m4gr3d/addoculus_openxr_Fredia Huya-Kouadio
Update the AndroidManifest to enable access to Oculus OpenXR runtime
2021-09-01Add support for adding plugin views behind the main view on AndroidPouleyKetchoupp
Doesn't change the default behavior, but allows plugins to add their view behind the main view, which gives more control over what happens with inputs and can be useful along with transparent rendering.
2021-08-31Make platform feature tag names lowercaseHugo Locurcio
Feature tag names are still case-sensitive, but this makes built-in feature tags more consistent. - `Windows` -> `windows` - `OSX` -> `osx` - `LinuxBSD` -> `linuxbsd` - `Android` -> `android` - `iOS` -> `ios` - `HTML5` -> `html5` - `JavaScript` -> `javascript` - `UWP` -> `uwp`
2021-08-29Rename String::is_rel_path to String::is_relative_pathWilson E. Alvarez
2021-08-27Update the AndroidManifest to enable access to Oculus OpenXR runtime.ne0fhyk
2021-08-22Replace HTTP links with HTTPS for sites with HTTPS versionsAaron Franke
2021-08-22Merge pull request #49756 from ↵Michael Alexsander
Calinou/android-export-move-clear-previous-install-setting Move the Android "clear previous install" setting to Editor Settings
2021-08-21Check if vibration duration is > 0 on AndroidMarcus Brummer
2021-08-18Delegate handling and implementation of the restart functionality to the ↵Fredia Huya-Kouadio
Godot host.
2021-08-17Merge pull request #50360 from m4gr3d/address_external_dir_access_masterRémi Verschelde
Add support for Android scoped storage
2021-08-16Add partial support for Android scoped storage.ne0fhyk
This is done by providing API access to app specific directories which don't have any limitations and allows us to bump the target sdk version to 30. In addition, we're also bumping the min sdk version to 19 as version 18 is no longer supported by Google Play Services and only account of 0.3% of Android devices.
2021-08-16[android] Fixed wrong button mask for right clickModProg
2021-08-16Move the Android "clear previous install" setting to Editor SettingsHugo Locurcio
This means the setting now applies to every project deployed from the editor, rather than being per-export preset.
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-08-13Add input buffering frameworkPedro J. Estébanez
Input buffering is implicitly used by event accumulation, but this commit makes it more generic so it can be enabled for other uses. For desktop OSs it's currently not feasible given main and UI threads are the same).
2021-08-13Improve input event accumulationPedro J. Estébanez
- API has been simplified: all events now go through `parse_input_event()`. Whether they are accumulated or not depends on the `use_accumulated_input` flag. - Event accumulation is now thread-safe (it was not needed so far, but it prepares the ground for the following changes). - Touch drag events now support accumulation.
2021-08-13Merge pull request #51586 from m4gr3d/investigate_godot_resume_stalls_masterRémi Verschelde
Resolve issue where the Godot app remains stuck when resuming.
2021-08-13Merge pull request #51524 from RandomShaper/faster_vmaRémi Verschelde
Upgrade Vulkan Memory Allocator, use Volk on Android
2021-08-12Add support for prompting the user to retain app data on uninstall.Fredia Huya-Kouadio
Supported on Android 10 and higher.
2021-08-12Resolve issue where the Godot app remains stuck when resuming.Fredia Huya-Kouadio
This was caused by the fact that a new instance of Godot was created at resume while a previous instance already existed. The previous instance would then go through its cleanup lifecycle, and would thus attempt to close the entire app, leading to the system to restart the app, thus starting the cycle anew. The fix involves reusing the previous instance of Godot if one is available instead of creating a new one, as well as giving control to the host activity for how the process should be terminated.
2021-08-13Upgrade Vulkan memory allocatorPedro J. Estébanez
2021-08-12Android: Use volk instead of NDK Vulkan headersRémi Verschelde
We no longer build the Vulkan loader, and volk lets us load it dynamically. Roblox uses volk on Android so it should work well for us too.
2021-08-12Merge pull request #50771 from naithar/feature/platform-export-refactoring-4.0Rémi Verschelde
2021-08-12Split android platform export template into multiple filesSergey Minakov
2021-08-12Properly finishes Godot's Android activity when destroyed by the systemMarcus Brummer
2021-08-12Use "volk" instead of statically linked Vulkan loader.bruvzg
2021-08-10Use Key enum instead of plain integersAaron Franke
2021-08-01Make progress and errors translatable when exporting to AndroidHaoyu Qiu
2021-07-27Fix custom build exportFredia Huya-Kouadio
2021-07-25Fix various typos with codespellluz paz
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke