Commit Graph

364 Commits

Author SHA1 Message Date
Hugo Locurcio 665d29c16d
Fix new projects always being created with OpenGL
Only Vulkan is fully implemented for now, so OpenGL isn't available
in the project manager yet.

This also makes the rendering driver checks use lowercase names
everywhere for consistency.
2021-11-01 22:04:36 +01:00
Rémi Verschelde 0ae65472e7
clang-format: Enable `BreakBeforeTernaryOperators`
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-28 15:57:41 +02:00
Rémi Verschelde 3a6be64c12
clang-format: Various fixes to comments alignment from `clang-format` 13
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28 15:43:36 +02:00
Rémi Verschelde 3b11e33a09
clang-format: Disable alignment of operands, too unreliable
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-28 15:19:35 +02:00
Marcel Admiraal f80cb4dffa Fix Gradle builds not excluding excluded tasks 2021-10-23 14:13:36 +01:00
Marcel Admiraal 95b1275197 Upgrade Android Gradle to version 7.2 2021-10-14 16:19:00 +01:00
ne0fhyk 5bbfe0b5a8 Add support for Play Asset Delivery.
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-15 06:06:11 -07:00
Marcel Admiraal 23311a6ed3 Use current androidx Fragment library instead of legacy libraries 2021-09-08 10:17:26 +01:00
Fredia Huya-Kouadio ebac430445
Merge pull request #52159 from m4gr3d/addoculus_openxr_
Update the AndroidManifest to enable access to Oculus OpenXR runtime
2021-09-01 21:09:28 -07:00
PouleyKetchoupp 0b681d5834 Add support for adding plugin views behind the main view on Android
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-09-01 10:01:55 -07:00
ne0fhyk 9f4aa1f5ad Update the AndroidManifest to enable access to Oculus OpenXR runtime. 2021-08-27 11:12:25 -07:00
Aaron Franke ae1702bee5
Replace HTTP links with HTTPS for sites with HTTPS versions 2021-08-22 20:13:11 -05:00
Marcus Brummer 47f338fc12 Check if vibration duration is > 0 on Android 2021-08-21 17:33:25 +02:00
Fredia Huya-Kouadio f4222733ca Delegate handling and implementation of the restart functionality to the Godot host. 2021-08-18 10:24:42 -07:00
ne0fhyk 3a00ff1cce Add partial support for Android scoped storage.
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 23:11:56 -07:00
Pedro J. Estébanez e745088f1f Switch to input buffering on Android
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-13 11:45:50 +02:00
Rémi Verschelde af70288ee0
Merge pull request #51586 from m4gr3d/investigate_godot_resume_stalls_master
Resolve issue where the Godot app remains stuck when resuming.
2021-08-13 08:43:59 +02:00
Fredia Huya-Kouadio e73e336e3b Add support for prompting the user to retain app data on uninstall.
Supported on Android 10 and higher.
2021-08-12 22:16:14 -07:00
Fredia Huya-Kouadio 28a99e4cf6 Resolve issue where the Godot app remains stuck when resuming.
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-12 21:05:18 -07:00
Marcus Brummer 20b3e2cc94 Properly finishes Godot's Android activity when destroyed by the system 2021-08-12 15:33:51 +02:00
luz paz 3564c16cb8
Fix various typos with codespell
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-25 11:21:51 +02:00
ne0fhyk fa587778d8 Disable resource optimizations for release builds as it breaks the legacy build system. 2021-07-20 16:44:04 -07:00
Rémi Verschelde 5d7c23dcc6
Merge pull request #50220 from madmiraal/fix-50125
Queue the calls to GodotLib.key when Android virtual done is pressed
2021-07-06 23:46:21 +02:00
Marcel Admiraal 57317ce7b8 Remove Android onKeyMultiple override 2021-07-06 17:39:42 +01:00
Marcel Admiraal 1856f16378 Queue the calls to GodotLib.key when Android virtual done is pressed 2021-07-06 17:32:09 +01:00
Rémi Verschelde c47b6f4b5c
Merge pull request #50107 from madmiraal/android-use-lambdas
Replace single method anonymous classes with lambdas in Godot Java code
2021-07-06 18:10:38 +02:00
Marcel Admiraal 23e152040b Use static inner classes in Godot Java code 2021-07-03 05:50:04 +01:00
Marcel Admiraal a7825ca12a Replace single method anonymous classes with lambdas in Godot Java code 2021-07-03 05:13:31 +01:00
Rémi Verschelde f2229bb1ea
Merge pull request #50085 from madmiraal/android-replace-stringbuffer
Use StringBuilder instead StringBuffer in Godot Java code
2021-07-02 22:09:50 +02:00
Rémi Verschelde aee59c3547
Merge pull request #50083 from madmiraal/android-fix-raw-use
Fix raw use of parameterized Class
2021-07-02 22:09:39 +02:00
Marcel Admiraal 3f95bbed73 Remove redundant explicit types in Godot Java code 2021-07-02 17:45:30 +01:00
Marcel Admiraal 61ee51d2bf Use StringBuilder instead StringBuffer in Godot Java code 2021-07-02 16:57:12 +01:00
Rémi Verschelde 710effdaad
Merge pull request #50078 from madmiraal/android-remove-unused-imports 2021-07-02 17:45:29 +02:00
Marcel Admiraal d237f7d33d Fix raw use of parameterized Class 2021-07-02 16:35:52 +01:00
Marcel Admiraal a38fd4a4c2 Remove unused imports from Android Java code 2021-07-02 12:57:55 +01:00
Rémi Verschelde 6ef0b8fcd3
Merge pull request #50074 from madmiraal/android-replace-c-array
Use Java array declarations not C-style declarations in Android Java code
2021-07-02 13:44:22 +02:00
Rémi Verschelde 42184dd6d5
Merge pull request #50072 from madmiraal/android-remove-interface-modifiers
Remove redundant interface modifiers from Android Java code
2021-07-02 12:35:14 +02:00
Marcel Admiraal 721b3d56c5 Use Java array declarations not C-style declarations in Android Java code 2021-07-02 11:09:09 +01:00
Marcel Admiraal a74e803a4f Remove redundant interface modifiers from Android Java code 2021-07-02 09:37:45 +01:00
Marcel Admiraal 360447001d Remove unnecessary semicolons from Android Java code 2021-07-02 08:54:09 +01:00
Rémi Verschelde 40a594c6ea
Android: Add `isGame` application attribute, default to true
It can be turned off in the export preset with `package/classify_as_game`.

Upstream definition: https://developer.android.com/guide/topics/manifest/application-element#isGame

> `android:isGame`
>
> Whether or not the application is a game. The system may group together
> applications classifed as games or display them separately from other
> applications.

Also fixes replacing `android:allowBackup` in custom builds.
2021-07-01 11:00:23 +02:00
Marcel Admiraal 8270e101a7 Fix unchecked call to put() warning in GodotInputHandler.java 2021-06-30 12:13:05 +01:00
ne0fhyk d1a9363c4c Update config versions and deprecate the use of the jcenter maven repo. 2021-06-24 08:58:56 -07:00
ne0fhyk 532b0e3462 Add support for custom debug keystore. 2021-06-22 10:05:55 -07:00
Rémi Verschelde bc1fcb9c65
Merge pull request #49435 from madmiraal/add-android-external-dir
Add OS.get_external_data_dir() to get Android external directory
2021-06-10 22:11:02 +02:00
Marcel Admiraal b3a962945e Add OS.get_external_data_dir() to get Android external directory 2021-06-10 16:48:17 +01:00
Marcel Admiraal 4ba2ed332e Remove unused AudioDriverAndroid from Android 2021-06-10 08:32:56 +01:00
Rémi Verschelde d567abd714
Merge pull request #49382 from akien-mga/misc-cleanup
Style: Cleanup uses of double spaces between words
2021-06-07 11:57:47 +02:00
Rémi Verschelde c1c76850cb
Style: Cleanup uses of double spaces between words
Or after punctuation. Tried to leave third-party stuff alone, unless it has
been heavily modified for Godot.
2021-06-07 11:03:08 +02:00
Marcel Admiraal 78e791045c Update Gradle archiveName and destinationDir properties 2021-06-07 06:41:10 +01:00