Commit Graph
149 Commits
Author SHA1 Message Date
Lukas Tenbrink a30e7e1151 Avoid releasing main thread identity on platforms that don't need to drop it, making it a platform detail.
(cherry picked from commit 92cb8246a5b67b36482ea597f23773984f53cf37)
2026-07-30 11:26:19 -05:00
Fredia Huya-Kouadio 1edc952740 Fix issue causing the engine to crash when starting while the screen is off.
(cherry picked from commit dd94c2c5af4126b46ecc90fcd173c6e9513e52b7)
2026-07-25 13:19:49 -05:00
uno1982 ea5c2a36d8 Android: Fix EditorSettings not instantiated error when running game
Add null check in getEditorSetting JNI call to match setEditorSetting.
Fixes error when game runner process calls getEditorSetting before
EditorSettings is initialized.

(cherry picked from commit 19bbd4ccdd22a5ac9ed134f93ceb0db9149a13ae)
2026-06-30 09:28:41 -05:00
Fredia Huya-Kouadio 50f6eff29b [Android] Clean up Godot.kt by moving natively accessed methods to the (new) GodotNativeBridge.kt internal class 2026-04-08 10:24:37 -07:00
Rémi Verschelde e33e98a26f Style: Apply clang-format grouping rules 2026-03-17 20:11:01 +01:00
Fredia Huya-Kouadio ef0163ba9f Add support for PiP mode 2026-03-06 23:29:16 -08:00
Rémi Verschelde f332faf46b Explicitly include core/os/os.h where used 2026-03-04 09:54:10 +01:00
Rémi Verschelde a447ac95ec Move DisplayServer enums and typedefs to DisplayServerEnums
This will allow decoupling `display_server.h` from a number of headers in the
codebase which only require those enums and not all the DisplayServer API.
2026-03-03 12:44:02 +01:00
Fredia Huya-Kouadio 0ad63522d7 Quick fix to address https://github.com/godotengine/godot/issues/115924
The fix resets the Android global vulkan context when running in XR mode to allow the XR module to drive the initialization via vulkan hooks.
2026-02-12 14:14:23 -08:00
Thaddeus Crews ea1e6640f0 Merge pull request #115434 from syntaxerror247/landscape-or-portrait
Add device orientation change signal to DisplayServer
2026-01-27 15:18:22 -06:00
Anish Kumarandbruvzg e2369a834b Add device orientation change signal in DisplayServer
This PR:
- Fixes the orientation detection logic on Android
- Adds an orientation_changed signal in DisplayServer

Co-Authored-By: bruvzg <7645683+bruvzg@users.noreply.github.com>
2026-01-27 23:35:44 +05:30
Dario 542f8ddf22 Fix fallback to OpenGL3 from Vulkan initialization on Android. 2026-01-14 23:55:21 -03:00
Fredia Huya-Kouadio be24804e1a Trigger save of the RD pipeline cache on application pause 2025-12-30 19:25:29 -08:00
Thaddeus Crews cd8a292324 Merge pull request #113297 from shiena/feature/lifecycle-callbacks
Add platform lifecycle callbacks to CameraServer base class
2025-12-02 11:51:52 -06:00
Rémi Verschelde 71d4ded745 Merge pull request #113279 from Ivorforce/tracy-gdscript-codeloc
Add support for profiling GDScript with tracy.
2025-12-02 14:16:56 +01:00
KOGA Mitsuhiro 85ec5b9f42 Add platform lifecycle callbacks to CameraServer base class 2025-12-02 00:31:51 +09:00
Lukas TenbrinkandSamuel Nicholas acefbbbbcd Add support for profiling GDScript with tracy.
This adds macro `GodotProfileZoneGroupedFirstScript`, and uses interning for speedy lookups.

Co-authored-by: Samuel Nicholas <nicholas.samuel@gmail.com>
2025-11-28 16:36:36 +01:00
Rémi Verschelde b22d15311c Merge pull request #113159 from dsnopek/android-variant-to-jvalue-memory-issues
Android: Fix memory issues in `_variant_to_jvalue()`
2025-11-27 09:56:04 +01:00
David Snopek c2f8d1a29b Android: Fix memory issues in _variant_to_jvalue() 2025-11-26 11:17:34 -06:00
Fredia Huya-Kouadio 023024440b Deprecate and remove vendors specific XR APIs from the Godot core Android library
Follow-up to https://github.com/GodotVR/godot_openxr_vendors/pull/380, done in order to prevent vendors specific dependencies onto the Godot core Android library.
2025-11-25 17:06:43 -08:00
Thaddeus Crews e46c2ea3fa Merge pull request #112379 from bruvzg/tts64id
Make `utterance_id` 64-bit.
2025-11-14 14:23:17 -06:00
Benjamin Dobell 585389af24 Fix crash when gamepad connects immediately upon Android app startup 2025-11-15 01:13:17 +11:00
Lukas Tenbrink e80194e31f Add profiler option to SCons builds.
Add `tracy` option to `profiler`. If set, a tracy profiling client will be injected into the Godot binary.

# Conflicts:
#	platform/linuxbsd/godot_linuxbsd.cpp
2025-11-08 00:08:45 +01:00
Pāvels Nadtočajevs 281c74550a Make utterance_id 64-bit. 2025-11-07 10:21:20 +02:00
KOGA Mitsuhiro 4483871cd3 Android: Stabilize camera lifecycle handling
- Pause camera feeds during lifecycle transitions to avoid crashes
- Refresh camera metadata after rotation to keep orientation accurate
2025-10-23 01:32:16 +09:00
Thaddeus Crews 5935a32e32 Core: Cleanup headers in core/config
- `MainLoop` now forward-declared in `OS`
2025-10-06 09:20:56 -05:00
Aaron Franke 3d1c9fd5de Move server files into their subfolders 2025-09-30 19:39:39 -07:00
Fredia Huya-Kouadio 35fda7f857 Fix JNI local reference table overflow when wrapping Java class with large method counts 2025-09-23 12:23:26 -04:00
Serhii Snitsaruk fa36abeacc Fix FindClass() failing to find Dictionary on Android leading to crash 2025-08-01 17:46:58 +02:00
A Thousand Ships f11aff3841 Editor: Restructure editor code
Moving various editor files into sub folders to reduce clutter
2025-07-04 18:18:22 +02:00
Fredia Huya-Kouadio dc589e239c Add support for using an Android Service to host the Godot engine
- Provide a `GodotService` Android service implementation which can be used to host an instance of the Godot engine
- Provide a `RemoteGodotFragment` Android fragment implementation which provides the view and logic to wrap connection to a `GodotService` instance
2025-06-12 16:37:38 -07:00
lawnjellyandLukas Tenbrink f8f350a32a Add GLOBAL_GET cached macros.
GLOBAL_GET is an expensive operation which should not be used each frame / tick.
This PR adds macros which do a cheaper revision check, and only call the expensive GLOBAL_GET when project settings have changed.

Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-04-30 15:08:50 +01:00
Thaddeus Crews 0d267e7b1e Core: Add dedicated BitField template 2025-04-11 11:53:26 -05:00
Anish Mishra b462db5adb Android: Hardware keyboard connection status callback
Adds a DisplayServer method to register hardware keyboard connection change callback.
2025-04-05 08:14:29 +05:30
Aaron Franke 2800948d61 Organize ifdefs for disabling navigation, physics, and XR 2025-04-02 08:24:24 -07:00
Thaddeus Crews ea62170dac Core: Add constexpr constructors/operators to math structs
• Begin integrating `constexpr` on math tests; use `static_assert` where appropriate
2025-03-17 12:15:31 -05:00
Thaddeus Crews 67d4a245d8 Merge pull request #103267 from YeldhamDev/reality_got_too_extended
Allow to compile the engine without XR support
2025-03-07 15:12:54 -06:00
Rémi Verschelde a7dd4ad5f8 Android: Fix build with disable_3d
Fixes #103516.
2025-03-03 22:19:05 +01:00
Michael Alexsander aea559b39a Allow to compile the engine without XR support 2025-02-25 17:07:21 -03:00
Anish MishraandPāvels Nadtočajevs 28d1dccf63 Android: Fix export and runtime logic to check if using Vulkan
Also fix iOS export logic that would force a min target of iOS 14.0 (for Metal)
even when targeting the Compatibility renderer.

Co-authored-by: Pāvels Nadtočajevs <7645683+bruvzg@users.noreply.github.com>
2025-02-23 12:28:59 +01:00
Fredia Huya-Kouadio 7495a8a02e Add support for embedding game process in the Android Editor
- Implement Android editor specific `EmbeddedGodotGame` to support embedding the game window in the Android editor
2025-02-11 02:20:18 -08:00
Anish Mishra cb9ee099ac Android: Implement support for native dialog
This adds support for DisplayServer::dialog_show() on Android, aligning it with the functionality already available on macOS and Windows.
2025-01-14 15:03:14 +05:30
Fredia Huya-Kouadio 23cea1b9d2 Additional fixes and improvements to JavaClassWrapper
- Fix crashing bug when invoking class constructor with parameters
- Add support for accessing class constants
- Add support for Godot Callable arguments. A Godot Callable can be wrapped by a Java Runnable to allow Java logic to run arbitrary Godot lambdas
- Automatically convert java.lang.CharSequence to Godot String as needed
- Code cleanup
2024-12-17 18:46:34 -08:00
Anish Mishra b2130efb31 [Android] Implement native file picker support 2024-10-30 14:53:02 +05:30
Anish Mishra be5d7f757d [Android] Implement native input dialog support 2024-10-29 20:02:08 +05:30
Fredia Huya-Kouadio 07cae26abe Remove the restriction on supported types for Godot Android plugins
The Android plugin implementation is updated to use `JavaClassWrapper` which was fixed in https://github.com/godotengine/godot/pull/96182, thus removing the limitation on supported types.

Note that `JavaClassWrapper` has also been updated in order to only provide access to public methods and constructor to GDScript.
2024-09-29 14:32:10 -07:00
Fredia Huya-Kouadio 3ff95ef12a Only request OpenXR permissions for a XR game running off the Android editor when the xr/openxr/extensions/automatically_request_runtime_permissions project setting is enabled 2024-09-11 14:47:08 -07:00
Fredia Huya-Kouadio 92ffa93c58 Fix Android builds when OpenXR is disabled 2024-08-30 23:11:50 -07:00
Fredia Huya-Kouadio 794ea99240 Update the storage access handler logic to support accessing / retrieving contents with the assets:/ prefix 2024-08-26 11:16:37 -07:00
Rémi Verschelde 82adfebcf8 Merge pull request #94799 from m4gr3d/memory_allocation_cleanup_and_optimizations
Android memory cleanup and optimizations
2024-08-16 23:45:39 +02:00