Commit graph

443 commits

Author SHA1 Message Date
Fredia Huya-Kouadio
eba77be573 Update Android dependencies for the project
- Update Java version from 11 to 17
- Update Android gradle plugin version from 7.2.1 to 8.2.0
- Update gradle version from 7.4.2 to 8.2
- Update target SDK from 33 to 34
- Update build tools version from 33.0.2 to 34.0.0
- Update kotlin version from 1.7.0 to 1.9.20
- Update Android fragment version from 1.3.6 to 1.6.2
- Update AndroidX window version from 1.0.0 to 1.2.0
- Update Nexus plugin version from 1.1.0 to 1.3.0
2024-01-25 13:58:08 -08:00
Fredia Huya-Kouadio
194452bf38 Update the logic used to start / stop the GL thread
Currently the GL thread is started / stopped when the activity is respectively resumed / paused. However, according to the `GLSurfaceView` documentation, this should be done instead when the activity is started / stopped, so this change updates the start / stop logic for the GL thread to match the documentation.
2023-12-20 20:38:34 -08:00
Rémi Verschelde
4c4cb12e38
Merge pull request #84409 from m4gr3d/add_android_gestures_project_settings
[3.x] Add Android project settings for gesture support
2023-12-13 13:24:35 +01:00
Rémi Verschelde
e96c42f0e1
Merge pull request #84279 from m4gr3d/update_godot_app_launch_mode_3x
[3.x] Update the `launchMode` for the `GodotApp` activity to allow other activities to be part of the same task
2023-11-15 18:28:18 +01:00
Fredia Huya-Kouadio
ec8a4c025d Fix Android editor crash issue
Fix issue causing the Android editor to crash when pressing back from a running project
2023-11-03 07:54:04 -07:00
Fredia Huya-Kouadio
e9045a6d03 Add Android project settings for gesture support
- Include project setting to enable long press for Android devices
- Include project setting to enable pan and scale gestures on Android devices
2023-11-03 05:25:18 -07:00
Fredia Huya-Kouadio
cf706e2dc3 Update the launchMode for the GodotApp activity to allow other activities to be part of the same task
For details, see https://developer.android.com/guide/topics/manifest/activity-element#lmode
2023-10-31 19:12:34 -07:00
Fredia Huya-Kouadio
620fdd1f07 Fix Android input routing logic when using a hardware keyboard
When a hardware keyboard is connected, all key events come through so we can route them directly to the engine.
This is not the case for soft keyboards, for which the current logic was designed as it requires extra processing.
2023-09-14 04:29:15 -07:00
Ben Rog-Wilhelm
1e2e3b21f3
Fix: incorrectly .gitignored files.
(cherry picked from commit 90f3992036)
2023-08-29 12:55:44 +02:00
Fredia Huya-Kouadio
6d1bf81e01
Address kotlin build warnings
(cherry picked from commit 242ffb72b8)
2023-08-29 12:42:10 +02:00
Omar Shehata
42d2187f38
Fix double tap & drag on Android
(cherry picked from commit 0c94750642)
2023-08-28 17:27:15 +02:00
Fredia Huya-Kouadio
5cf0ba88e3 Add parameters for the Godot Activity starting intent to allow restarting or force-quitting the engine
Follow-up code cleanup for https://github.com/godotengine/godot/pull/78130
2023-06-15 21:45:30 -07:00
Fredia Huya-Kouadio
ee07f60b07 Fix issue causing the last edited project to open while switching to another one.
Fixes https://github.com/godotengine/godot/issues/76562
2023-06-11 23:19:02 -07:00
Fredia Huya-Kouadio
f3026c2aa0
Merge pull request #78085 from m4gr3d/fix_multitouch_detection_spatial_viewport_3x
[3.x] Fix spatial viewport multitouch detection support
2023-06-11 18:08:30 -07:00
Fredia Huya-Kouadio
8f44765831 Fix spatial viewport multitouch detection support
Regression introduced by https://github.com/godotengine/godot/pull/77497
2023-06-10 08:52:26 -07:00
Fredia Huya-Kouadio
b5a908c985 Add setting to control the window used to run the project for the Android editor
The follow options were added to the (new) `run/window_placement/android_window` editor setting:

- `Auto`: choose how to run the project based on the device screen size
- `Same as Editor`: run the project in the same window as the editor
- `Side-by-side with Editor`: run the project in an adjacent window to the editor
2023-06-07 18:20:14 -07:00
Fredia Huya-Kouadio
9c334fa242 Fix issue causing the Android editor to crash when creating a new AudioStreamMicrophone
Fixes https://github.com/godotengine/godot/issues/73801
2023-05-31 00:21:57 -07:00
Rémi Verschelde
b71701714f
Merge pull request #77497 from m4gr3d/improve_keyboard_mouse_support_3x
[3.x] Improve touchpad and mouse support for the Android editor
2023-05-28 12:03:09 +02:00
bruvzg
18ee8da7d6
Add audio/general/text_to_speech project setting to enable/disable TTS. 2023-05-26 20:57:29 +03:00
Fredia Huya-Kouadio
ccd36e0dbe Improve touchpad and mouse support for the Android editor 2023-05-25 20:09:35 -07:00
Fredia Huya-Kouadio
3bef5f29ec Update the format for the app version code and name 2023-05-24 14:40:37 -07:00
Rémi Verschelde
e5e73e7068
Merge pull request #74583 from m4gr3d/setup_play_store_builds_3x
[3.x] Update the gradle build tasks to generate play store builds.
2023-05-17 18:21:36 +02:00
Fredia Huya-Kouadio
f9ae38d87c
Merge pull request #73692 from m4gr3d/update_touchscreen_editor_settings_3x
[3.x] Enable granular control of touchscreen related settings
2023-05-08 09:10:36 -07:00
Fredia Huya-Kouadio
30e3e301e0 Update the gradle build tasks to generate play store builds.
Configure the gradle builds to sign and build the release version of the Godot Android Editor
2023-04-27 22:13:00 -07:00
Fredia Huya-Kouadio
3943de2e6c
Merge pull request #71875 from m4gr3d/editor_optimization_3x
[3.x] Add benchmark logic
2023-04-22 20:18:45 -07:00
Fredia Huya-Kouadio
837db0b051 Downgrade android gradle plugin to version 7.2.1.
Version 7.3.0 changes the build layout which causes updates to the generated shared libraries to not be picked up.
2023-04-21 13:19:45 -07:00
Jason Knight
cec8e09948 Fix null in android text entry system. 2023-04-12 09:20:44 -06:00
Rémi Verschelde
2c2ae757a8
Merge pull request #75205 from m4gr3d/bump_target_sdk_33_3x
[3.x] Bump the target SDK version to 33 (Android 13)
2023-04-11 10:53:39 +02:00
Fredia Huya-Kouadio
61e41facc7 Enable granular control of touchscreen related settings 2023-04-05 10:11:53 -07:00
Fredia Huya-Kouadio
2803c471e8 Bump the target SDK version to 33 (Android 13) 2023-03-21 19:24:39 -07:00
Fredia Huya-Kouadio
f3cdff46fc Add benchmark logic
Add benchmarking measuring methods to `OS` to allow for platform specific overrides (e.g: can be used to hook into platform specific benchmarking and tracing capabilities).
2023-03-20 23:29:36 -07:00
Fredia Huya-Kouadio
e2c7d3e6c0 Fix directory access when the running app has the All files access permission 2023-03-20 09:00:48 -07:00
Rémi Verschelde
d2ac29abe3
Merge pull request #74469 from m4gr3d/configure_snapshot_publish_version_3x
[3.x] Configure maven central snapshot versions for the Godot Android library
2023-03-06 12:38:49 +01:00
Fredia Huya-Kouadio
0e2292f341 Configure maven central snapshot versions for the Godot Android library
A snapshot version is a version that has not yet been released which allows us to deploy the same transient version incrementally, without requiring projects to upgrade the artifact version they're consuming. Those projects can use the same version to get an updated snapshot version.
2023-03-06 01:29:41 -08:00
necrashter
9bdb585318
Use the new API for virtual keyboard height detection on Android, bugfix 2023-03-06 00:24:09 +03:00
Fredia Huya-Kouadio
b04c9a71f4 Implement file provider capabilities
The previously used file sharing api was restricted after Android N causing the engine to crash whenever used on devices running Android N or higher.
2023-02-01 01:01:20 -08:00
Fredia Huya-Kouadio
aed400cce2
Merge pull request #71654 from m4gr3d/increase_scroll_bar_size_for_touchscreen_3x
[3.x] Update the size of the scrollbar for the editor on touchscreen devices
2023-01-31 21:52:03 -08:00
Fredia Huya-Kouadio
48a55ffad3 Provide a delegate implementation for the killProcess logic on Android
The implementation forwards the kill request to the Godot host for handling. If the Godot host is unable to handle the request, it falls back to the `OS_Unix::kill(...)` implementation.
2023-01-26 03:33:22 -08:00
Fredia Huya-Kouadio
e59752bcb7 Update the Godot Android Editor name from Godot Editor to Godot Editor 3
Keep things consistent with the label used for `Godot Editor 4`, and avoid user confusion regarding the different versions of the engine.
2023-01-24 05:11:08 -08:00
Fredia Huya-Kouadio
8170b7ae1e Add a theme usability setting which updates the touch area of UI elements (e.g: scrollbar) for the editor on touchscreen devices 2023-01-22 07:09:48 -08:00
Fredia Huya-Kouadio
48aedb239e Update the logic to calculate the screen scale on Android
Takes into account the ratio between the screen size and the default window dimensions.
2023-01-21 22:47:02 -08:00
Rémi Verschelde
1426cd3b3a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".

Backported from #70885.
2023-01-10 15:26:54 +01:00
Fredia Huya-Kouadio
4110d48b63 Add boot splash for the Godot Editor 2022-12-16 09:54:50 -08:00
Dennis Ranke
55441f2301
handle ambiguous input events as touch events
there can be events can have both SOURCE_TOUCHSCREEN and SOURCE_STYLUS. handle them as touch events rather than mouse events.

(cherry picked from commit 408000752c)
2022-12-15 12:18:41 +01:00
Fredia Huya-Kouadio
de45636fd3
Upgrade Android gradle plugin to version 7.2.1
(cherry picked from commit 151233b702)
2022-12-12 14:49:23 +01:00
Fredia Huya-Kouadio
d08e057194
Fix parsing of the keep_screen_on display setting
(cherry picked from commit 3c75887d41)
2022-11-30 15:52:10 +01:00
Fredia Huya-Kouadio
5aab84befb Fix 'save & restart' logic for the Android Editor 2022-11-16 03:29:40 -08:00
Fredia Huya-Kouadio
5149311316 Add support for pointer capture 2022-11-07 08:38:28 -08:00
Fredia Huya-Kouadio
be4b07c3e4 Add double_tap attribute to InputEventScreenTouch
This provides parity with the `InputEventMouseButton` allowing for proper conversion between the two events.
2022-10-20 11:56:11 -07:00
Fredia Huya-Kouadio
71c76a4ff2 Update the clean task configuration
Running `gradlew clean` will now properly delete the generated build artifacts
2022-10-18 20:37:23 -07:00