Rémi Verschelde
451bba967a
Merge pull request #55158 from m4gr3d/add_oculus_openxr_config_3x
2021-11-22 10:29:49 +01:00
Marcel Admiraal
05744ee0e2
Fix Android `get_screen_orientation()` not returning valid values
2021-11-21 12:14:29 +00:00
Fredia Huya-Kouadio
9c50bcabed
Add support for OpenXR export configurations.
2021-11-20 06:59:36 -08:00
Pedro J. Estébanez
4f8bc77a4c
Drop broken Android 32-bit framebuffer setting
2021-11-15 10:44:41 +01:00
Pedro J. Estébanez
abdf931832
Add off-screen GL context
2021-11-09 12:19:12 +01:00
Fredia Huya-Kouadio
724ef83971
Add default `minSdkVersion` and `targetSdkVersion` in the AndroidManifest.xml file
2021-11-03 21:49:22 -07:00
Rémi Verschelde
87c80f529f
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 14:50:33 +02:00
Rémi Verschelde
1b65550ec7
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 14:50:32 +02:00
Rémi Verschelde
42d385b312
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 13:23:38 +02:00
Marcel Admiraal
cce7e6c9d6
Use current androidx Fragment library instead of legacy libraries
...
(cherry picked from commit 23311a6ed3
)
2021-09-19 11:37:19 +02:00
PouleyKetchoupp
1454d6c670
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.
(cherry picked from commit 0b681d5834
)
2021-09-19 11:30:21 +02:00
PouleyKetchoupp
52fdb4ece9
Window transparency support on Android
...
Implements per-pixel transparency feature on Android.
Allows plugins to do specific rendering and render godot UI on top
(useful for camera support with drawing on top).
2021-09-15 10:41:08 -07:00
Marcus Brummer
128208d1d0
Check if vibration duration is > 0 on Android
...
(cherry picked from commit 47f338fc12
)
2021-09-14 13:41:25 +02:00
Fredia Huya-Kouadio
3baf5563e8
Delegate handling and implementation of the restart functionality to the Godot host.
...
(cherry picked from commit f4222733ca
)
2021-08-18 23:21:13 +02:00
ne0fhyk
e2bcdad43b
Fix possible null pointer exception.
2021-08-16 23:14:10 -07:00
ne0fhyk
c88d1608ab
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-13 11:04:17 -07:00
Rémi Verschelde
f976cec536
Merge pull request #51584 from m4gr3d/investigate_godot_resume_stalls_3_x
...
[3.x] Resolve issue where the Godot app remains stuck when resuming.
2021-08-13 08:44:33 +02:00
Fredia Huya-Kouadio
874aa1708f
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 20:58:00 -07:00
Pedro J. Estébanez
45c2a7159e
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 `notification()` on the `MainLoop` at the most caller's convenience.
Lastly, `get_mouse_position()` and `get_mouse_button_state()` now just call through `InputDefault` to avoid the need of sync of mouse data tracked on the UI thread.
2021-08-08 13:41:27 +02:00
Rémi Verschelde
7c8cc037ad
Merge pull request #50221 from madmiraal/fix-50125-3.x
...
[3.x] Queue the calls to GodotLib.key when Android virtual done is pressed
2021-07-06 23:46:36 +02:00
Marcel Admiraal
2bd3cc0e16
Queue the calls to GodotLib.key when Android virtual done is pressed
2021-07-06 17:54:14 +01:00
Marcel Admiraal
d40f73e3a4
Remove Android onKeyMultiple override
2021-07-06 17:37:53 +01:00
Rémi Verschelde
009aa63a57
Merge pull request #50108 from madmiraal/android-use-lambdas-3.x
...
[3.x] Replace single method anonymous classes with lambdas in Godot Java code
2021-07-06 18:10:45 +02:00
Marcel Admiraal
4b03e05573
Use static inner classes in Godot Java code
...
(cherry picked from commit 23e152040b
)
2021-07-06 11:20:42 +02:00
Marcel Admiraal
ab1162e918
Remove redundant explicit types in Godot Java code
...
(cherry picked from commit 3f95bbed73
)
2021-07-06 11:10:46 +02:00
Marcel Admiraal
6a07253bb6
Use StringBuilder instead StringBuffer in Godot Java code
...
(cherry picked from commit 61ee51d2bf
)
2021-07-06 11:10:46 +02:00
Marcel Admiraal
c1abbfb605
Fix raw use of parameterized Class
...
(cherry picked from commit d237f7d33d
)
2021-07-06 11:10:46 +02:00
Marcel Admiraal
01ecec451c
Use Java array declarations not C-style declarations in Android Java code
...
(cherry picked from commit 721b3d56c5
)
2021-07-06 11:10:46 +02:00
Marcel Admiraal
2b78d618f4
Remove unnecessary semicolons from Android Java code
...
(cherry picked from commit 360447001d
)
2021-07-06 11:10:45 +02:00
Marcel Admiraal
76c1a0e91d
Fix unchecked call to put() warning in GodotInputHandler.java
...
(cherry picked from commit 8270e101a7
)
2021-07-06 11:10:44 +02:00
Marcel Admiraal
4108dd0145
Replace single method anonymous classes with lambdas in Godot Java code
2021-07-03 05:13:08 +01:00
Marcel Admiraal
1ed89353b0
Remove unused imports from Android Java code
2021-07-02 14:41:57 +01:00
Marcel Admiraal
96e56af9b9
Remove redundant interface modifiers from Android Java code
2021-07-02 09:41:09 +01:00
Rémi Verschelde
c7c93355e3
Merge pull request #49436 from madmiraal/add-android-external-dir-3.x
...
[3.x] Add OS.get_external_data_dir() to get Android external directory
2021-06-10 18:24:21 +02:00
Marcel Admiraal
6d63ccba31
Add OS.get_external_data_dir() to get Android external directory
2021-06-10 16:48:37 +01:00
Marcel Admiraal
cdba79ca72
Remove unused AudioDriverAndroid from Android
2021-06-10 08:31:23 +01:00
Rémi Verschelde
80e1585a6e
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.
(cherry picked from commit c1c76850cb
)
2021-06-07 12:06:59 +02:00
Rémi Verschelde
e96f0ea1d7
Android: Remove non-functional native video OS methods
...
Those methods are only properly implemented for iOS.
Supersedes #43811 .
2021-05-07 16:42:17 +02:00
bruvzg
dab4cf3ed6
Add `physical_scancode` (keyboard layout independent keycodes) to InputEventKey and InputMap.
...
Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
2021-05-06 23:19:45 +03:00
Rémi Verschelde
b5e1e05ef2
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
2021-05-04 14:45:16 +02:00
Rémi Verschelde
3d15f04668
Style: clang-format: Disable AllowShortIfStatementsOnASingleLine
2021-05-04 14:45:15 +02:00
Fredia Huya-Kouadio
bc68872e2d
Disable the `requestLegacyExternalStorage` attribute when there are no storage permissions.
2021-04-16 07:26:24 -07:00
Fredia Huya-Kouadio
dedeada310
Fix issue causing the response callback to be invoked with the invalid `requestCode`.
2021-04-09 13:38:36 -07:00
Fredia Huya-Kouadio
14e7f6fa7c
Fix onMainRequestPermissionsResult callback for Android plugins.
2021-03-17 09:30:19 -07:00
Fredia Huya-Kouadio
864f4201b9
Enable `doNotStrip` when doing development/debugging within Android Studio
...
(cherry picked from commit 4380004176
)
2021-03-17 15:17:02 +01:00
Fredia Huya-Kouadio
94df08aae1
Leverage java annotations to simplify the logic used to register the Godot plugin methods.
2021-03-16 01:20:43 -07:00
Fredia Huya-Kouadio
c5fb32d594
Update the logic to load Godot Android plugins packaged into the binary.
...
The previous logic had the side effect of imposing a limit of one plugin per `aar` binary. The update lifts that restriction.
2021-02-26 09:09:40 -08:00
Fredia Huya-Kouadio
65eb5fdf1e
Update the initialization timeline for the Godot fragment to be more consistent with the previous activity based timeline.
...
(cherry picked from commit 3ce7678374
)
2021-02-25 15:14:32 +01:00
Fredia Huya-Kouadio
9fb5215db5
Add logic to record the version of the Godot engine for the Android platform.
...
(cherry picked from commit bc5120eb97
)
2021-02-25 15:14:32 +01:00
Fredia Huya-Kouadio
96a3f01ac5
Add missing `ndkVersion` to the library gradle build config.
...
(cherry picked from commit 9418197081
)
2021-02-18 10:37:59 +01:00