summaryrefslogtreecommitdiff
path: root/platform/android
AgeCommit message (Collapse)Author
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
2021-07-22Move `alert` function from `DisplayServer` to `OS`.bruvzg
2021-07-20Disable resource optimizations for release builds as it breaks the legacy ↵ne0fhyk
build system.
2021-07-20Merge pull request #50206 from groud/undoredo_increase_args_countRémi Verschelde
Increase the number of arguments accepted by UndoRedo methods
2021-07-18Optimize StringName usagereduz
* Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
2021-07-16Modernize Display server to use override keywordHendrik Brucker
2021-07-15Addes ability to load build sources from file.reduz
* If not present, the dialog asks to load build sources from a file. * The export templates check now also verifies that build sources are installed and skips the template check. This makes Android development easier.
2021-07-13Implement the ability to disable classesreduz
* This PR adds the ability to disable classes when building. * For now it's only possible to do this via command like: `scons disable_classes=RayCast2D,Area3D` * Eventually, a proper UI will be implemented to create a build config file to do this at large scale, as well as detect what is used in the project.
2021-07-10Merge pull request #48622 from Geometror/reimplement-disableable-vsyncHugo Locurcio
2021-07-06Merge pull request #50220 from madmiraal/fix-50125Rémi Verschelde
Queue the calls to GodotLib.key when Android virtual done is pressed