Commit Graph

888 Commits

Author SHA1 Message Date
noahbackus 9714a6fe79 Merged upstream 4.7 into downstream 4.6
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
2026-06-27 13:51:14 -04:00
Fredia Huya-Kouadio fff89b78e7 Update download URL for GABE 2026-06-03 11:59:10 -07:00
KOGA Mitsuhiro fcc194c585 Android: Fix infinite recursion in proxy equals handler
Kotlin's `==` on the proxy compiles to `proxy.equals(args[0])`, which
the JDK proxy dispatches back through the InvocationHandler, hitting
the same branch and recursing into StackOverflowError. Use `===` for
reference equality, matching the default Object#equals behavior.
2026-05-22 22:22:45 +09:00
Muteem 471a4a79c0 Android: Fix ClassCastException in proxy hashCode when ObjectID is returned as Long
Object.hashCode() must return Int (32-bit), but the proxy InvocationHandler
returned godotObjectID directly (Long, 64-bit). When a HashMap-like container
called proxy.hashCode(), the auto-generated proxy did (Integer) result on a
java.lang.Long and threw ClassCastException.

Signed-off-by: Muteem <29696635+Muteem@users.noreply.github.com>
2026-05-22 22:20:52 +09:00
Muteem 08c08bfef2 Android: Fix NPE when proxy interface method has no arguments
JDK contract: InvocationHandler.invoke's args parameter is null when
the proxied interface method takes no arguments. The proxy handlers
in AndroidRuntimePlugin used `*args` directly, which spread-deref'd
null and threw NullPointerException.

Signed-off-by: Muteem <29696635+Muteem@users.noreply.github.com>
2026-05-20 16:23:30 +08:00
Thaddeus Crews 9a33066a27 Merge pull request #119297 from m4gr3d/misc_bug_fixes
[Android] Miscellaneous bug fixes
2026-05-13 09:53:54 -05:00
Anish Kumar 1f5c3cbb7f Fix Android plugin signal regression 2026-05-13 04:29:11 +05:30
Fredia Huya-Kouadio ca46bafc51 Fix the command line parsing logic for the --main-pack argument 2026-05-06 13:11:35 -07:00
Thaddeus Crews cb490e6e23 Merge pull request #119172 from syntaxerror247/gabe-ready-for-release
Remove experimental warning from `Use Gradle Build` option on Android
2026-05-06 10:53:35 -05:00
Anish Kumar 9ecaf9307f Remove experimental warning from Use Gradle Build option on Android 2026-05-06 17:23:31 +05:30
Fredia Huya-Kouadio 51876c561c Set the Game window to a different task affinity than the Editor window.
This allows to distinguish between both running activities in the `Recent Apps` screen.
2026-05-05 17:54:17 -07:00
Anish Kumar 7338c3475b Fix Android plugin regression 2026-05-05 20:17:57 +05:30
Anish Kumar d8cfa71eaf Add tests to validate Android plugin signal 2026-05-05 20:17:57 +05:30
Anish Kumar bb63952a5f Revert Android Editor minSdk bump to 24 2026-04-25 22:24:53 +05:30
Anish Kumar eec5730b32 Fix embedded window minimum size bug on Android 2026-04-17 22:04:51 +05:30
Thaddeus Crews f4c839f7b3 Merge pull request #118417 from syntaxerror247/resize-and-move
Allow moving and resizing the embedded game window on Android
2026-04-16 09:41:10 -05:00
Anish Kumar eb3d2940e3 Allow moving and resizing the embedded game window on Android 2026-04-15 22:18:12 +05:30
Rémi Verschelde 972d21ebf4 Merge pull request #118283 from m4gr3d/deprecate_and_remove_obb
Android: Remove deprecated Google Play OBB support
2026-04-15 12:40:59 +02:00
Fredia Huya-Kouadio f06290bbfa Enable 'perfetto' by default for Android debug builds. 2026-04-12 12:41:50 -07:00
Fredia Huya-Kouadio 31b595cd5e Deprecate and remove obb support
The current obb support was specific to the Google Play store which has deprecated the format in favor on Android bundle and Play asset delivery.
For projects that still have a dependency on the Play store obb support, the deprecated logic has been moved into a separate Godot Obb Android plugin.
2026-04-10 12:25:44 -07:00
Anish Kumar ee82a8f69d Android: Add export options to customize splash screen 2026-04-09 11:39:36 +05:30
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
Thaddeus Crews 5c2b6814ea Merge pull request #117653 from m4gr3d/fix_back_navigation_handling
[Android] Fix handling of back navigation when targeting API level 36
2026-04-07 18:21:45 -05:00
Fredia Huya-Kouadio ea070aceec [Android] Fix handling of back navigation when targeting API level 36 2026-04-07 10:03:28 -07:00
Thaddeus Crews a490c267a2 Merge pull request #115498 from m4gr3d/add_javaclasswrapper_proxy_interfaces
Android: Allow implementing java interfaces from GDScript
2026-04-01 12:55:15 -05:00
Fredia Huya-Kouadio 70c684a063 Allow implementing java interfaces from GDScript 2026-03-30 11:49:43 -07:00
Rémi Verschelde 40b218a679 Merge pull request #117643 from m4gr3d/android_editor_bug_fixes
[Android] Follow up fixes to enabling orientation change in the script editor
2026-03-26 16:01:30 +01:00
Rémi Verschelde 0f53286459 Merge pull request #117682 from syntaxerror247/sigal-registration-issue
Fix plugin signal registration error on Android
2026-03-23 22:35:50 +01:00
Fredia Huya-Kouadio c214ef348a [Android] Follow up fixes to enabling orientation change in the script editor
- Fix project manager crash when rotating the device
- Fix title bar disappearing when rotating large screen devices (tablet and foldables)
2026-03-20 12:06:47 -07:00
Anish Kumar 2e208489e7 Fix plugin signal registration error on Android 2026-03-21 00:07:37 +05:30
Fredia Huya-Kouadio 46984cf152 Bump the minimum api version and hardware version for Vulkan support
Follows the recommendations from https://developer.android.com/games/develop/vulkan/native-engine-support#recommendations
2026-03-18 20:47:48 -07:00
Thaddeus Crews be33d1ceb0 Merge pull request #114941 from syntaxerror247/fix-HashMap-crash
Android: Fix java.util.HashMap handling
2026-03-17 13:44:11 -05:00
Anish Kumar 5387f0d596 Android: Fix crash when emitting signal with java.util.HashMap 2026-03-17 22:55:18 +05:30
uno1982 e2e1c89723 Android: Add haptic feedback on long-press right-click in the editor
Trigger haptic feedback when a long-press gesture fires a right-click
(context menu) in the Android editor. Uses Android's native
`HapticFeedbackConstants.LONG_PRESS` on the render view surface.

An editor setting `interface/touchscreen/haptic_on_long_press` is added
under the existing touchscreen section to allow users to disable this
behavior. The setting defaults to enabled on native touchscreen devices.
2026-03-14 11:32:07 +01:00
Fredia Huya-Kouadio ef0163ba9f Add support for PiP mode 2026-03-06 23:29:16 -08:00
noahbackus 725fcf0c22 Merge upstream Godot 4.6.1-stable
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
2026-03-06 15:22:01 -05:00
Rémi Verschelde 19726167ce Merge pull request #117131 from syntaxerror247/fixing-my-blunder
Android: Fix FileAccess crash when using treeUri in Gradle-built apps
2026-03-06 12:44:43 +01:00
Rémi Verschelde a772f16387 Merge pull request #117109 from syntaxerror247/script-editor-portrait
Android editor: Enable orientation change in Script Editor
2026-03-06 12:44:31 +01:00
Anish Kumar 25a203aa34 Android editor: Enable orientation change in Script Editor 2026-03-06 06:24:42 +05:30
Anish Kumar ed8853b8d1 Android: Fix FileAccess crash when using treeUri in Gradle-built apps 2026-03-06 05:48:42 +05:30
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
Thaddeus Crews b62cbfdaa8 Merge pull request #115888 from m4gr3d/fix_platform_bom_dependency_insertion
Android: Add support for plugins gradle platform dependencies
2026-02-24 09:29:30 -06:00
Fredia Huya-Kouadio 8d14a178e9 Implement project.godot file associations for the Android editor 2026-02-10 14:13:07 -08:00
Thaddeus Crews 833889aec0 Merge pull request #115710 from syntaxerror247/fix-seek
Fix `FileAccess.seek_end` behavior on Android
2026-02-09 15:07:07 -06:00
Anish Kumar 0c89904687 Fix FileAccess.seek_end behavior on Android 2026-02-08 00:16:34 +05:30
Anish Kumar ac86b22f3b Fix crash in StorageScope.kt on Android
(cherry picked from commit 40b770ecf0)
2026-02-05 10:05:06 -06:00
Anish Kumar a570951ff4 Android: Fix Bad file descriptor in SAF/MediaStore in long term access
(cherry picked from commit 1c80b25af8)
2026-02-05 10:05:00 -06:00
Fredia Huya-Kouadio 88b292a098 Update the logic to insert plugins dependencies to support gradle platform dependencies 2026-02-04 17:12:18 -08:00
Thaddeus Crews 2487a297b2 Merge pull request #113469 from m4gr3d/deprecate_dev_buildtype
Deprecate the Android studio `dev` buildtype
2026-02-03 18:06:52 -06:00
Fredia Huya-Kouadio feb8e6ff13 Deprecate the Android studio dev buildtype
The project is setup in Android Studio with three buildtypes:
- `release` for release builds of the engine
- `debug` for debug builds of the engine with `dev_mode`, `dev_build`, and `debug_symbols` disabled
- `dev` for debug builds of the engine with `dev_mode`, `dev_build`, and `debug_symbols` enabled

This commit deprecates and removes the `dev` buildtype and instead enables `dev_mode`, `dev_build`, and `debug_symbols` for the `debug` buildtype when building with Android Studio.

The `release` buildtype has also been updated such that a `release` build built with Android Studio and signed with non-production keys can be installed side-by-side with a production-signed release (e.g: from the store).
2026-02-03 06:55:00 -08:00