Commit Graph

101 Commits

Author SHA1 Message Date
1f16ba2696 Add support for forwarding callbacks from Godot's parent activity. 2021-04-12 16:48:35 -07:00
a21457155b Fix issue causing the response callback to be invoked with the invalid requestCode and deprecate support for forwarding callbacks from Godot's parent activity. 2021-04-09 13:42:49 -07:00
b3a43430aa Fixes on android:
- creating Vulkan context instead of OpenGL
- checking for validity of ENV in wrapper classes
- fix for access to JavaVM from threads
2021-03-18 10:41:54 +11:00
8f285d93e8 Fix onMainRequestPermissionsResult callback for Android plugins. 2021-03-17 09:23:58 -07:00
4380004176 Enable doNotStrip when doing development/debugging within Android Studio 2021-03-16 17:21:00 -07:00
2d574bcc85 Leverage java annotations to simplify the logic used to register the Godot plugin methods. 2021-03-16 01:16:08 -07:00
6fd881e43c 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 08:38:39 -08:00
7f8bfd6ed1 Merge pull request #46381 from m4gr3d/update_godot_fragment_lifecycle_master
Update the initialization timeline for the Godot fragment
2021-02-24 16:14:16 +01:00
3ce7678374 Update the initialization timeline for the Godot fragment to be more consistent with the previous activity based timeline. 2021-02-24 06:16:07 -08:00
bc5120eb97 Add logic to record the version of the Godot engine for the Android platform. 2021-02-24 04:23:46 -08:00
9418197081 Add missing ndkVersion to the library gradle build config. 2021-02-17 16:31:31 -08:00
fe9f0758db Expose GodotPlugin's utility methods used for registration and signal emitting.
This enables creation and use of a plugin like class by composition rather than inheritance.
2021-02-15 15:55:59 -08:00
cc2547a9e9 Fix joystick axis mapping issues with NVIDIA shield. Probably others.
Issues addressed:

a) Axis mappings were including virtual mouse axes on NVIDIA Shield TV.

The virtual mouse axes have the same axis numbers as the normal analog stick numbers. This was completely breaking joypad support on NVIDIA Shield TV.

b) Joypads were being tracked in a List with the index in the list being treated as the Godot device id.

If a device were to be removed, any device later in the list would be shifted, potentially causing future events with the shifted joypads to have incorrect IDs according to the Godot engine.

c) Unnecessary events were being sent to the Godot engine.

A check was added (per Joystick) that will prevent sending events for all axes when only a single axis value changed.
A similar check was added for "HATs".

See #45712
2021-02-09 08:37:22 -05:00
befbfecd4d add search extensions for scons' path 2021-01-30 20:13:01 +08:00
af878716f2 CI: Update to clang-format 11 and apply ternary operator changes 2021-01-12 19:32:53 +01:00
b5334d14f7 Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
e7f259c366 Android: Allow Mouse Capture 2020-12-08 22:14:08 +02:00
7fa803fa2c fix android wrong multi-touch pointerid
Fixes #43519.
2020-12-03 13:34:04 +01:00
02161aad5a Remove empty lines around braces with the formatting script 2020-11-16 23:38:11 -05:00
484c3d5e27 Merge pull request #43248 from HEAVYPOLY/master
Change android orientations from sensor to user
2020-11-16 22:12:53 +01:00
46cc3233d8 Update the logic to query for the 'scons' command executable path. 2020-11-14 14:36:53 -08:00
d658063833 Change android orientations from sensor to user
# Conflicts:
#	platform/android/java/lib/src/org/godotengine/godot/GodotIO.java
2020-10-31 17:14:32 -07:00
41f66761fd Merge pull request #37158 from thebestnom/android-click-support
Support mouse events on Android
2020-10-30 16:00:03 +01:00
edf762fba6 Add a separate nativeSrcsConfigs module to handle Android Studio constraints for native code editor support. 2020-10-29 00:01:14 -07:00
96e22bd9fb Implement OS.get_window_safe_area() for Android 2020-10-27 13:14:00 -04:00
42513f2f47 Android: Mouse Implementation
Implement mouse
Move touch to inputManager
Change to use android/input.h
2020-10-09 04:14:56 +03:00
79c1cf600b Add overridable init method for the Godot fragment instance. 2020-09-18 16:59:09 -07:00
b8d5ced8cd Fix issue causing the textedit to move upward 2020-08-30 10:42:38 -07:00
c59e9399e7 Merge pull request #41550 from godotengine/revert-40671-virtual-keyboard-height-fix
Revert "Fix virtual keyboard height regression"
2020-08-27 08:55:51 +02:00
f98b32ff51 Merge pull request #41549 from godotengine/revert-40484-android-virtual-keyboard-adjustment
Revert "Disable virtual keyboard focus adjustment on Android"
2020-08-26 23:48:09 +02:00
db35a008f6 Revert "Fix virtual keyboard height regression" 2020-08-26 14:38:02 -07:00
ffd0bb1d02 Revert "Disable virtual keyboard focus adjustment on Android" 2020-08-26 13:27:25 -07:00
04b402b6f1 Revert "Move PopupWindow logic to GodotEditText on Android" 2020-08-26 13:24:18 -07:00
cac7eb3a64 Move PopupWindow logic to GodotEditText on Android 2020-07-28 21:19:17 +02:00
bd9fc75768 Merge pull request #40706 from akien-mga/style-fix-file_format-macos
Fix code format scripts compat with non-GNU Unices
2020-07-27 13:27:56 +02:00
c71e189efd Style: Fix code format scripts compat with non-GNU Unices
It's too hard to get compatibility between GNU and BSD sed,
so let's just use perl oneliners.

And improve it to also remove trailing tabs, not just spaces.
2020-07-27 13:11:44 +02:00
6de86946ea Merge pull request #40671 from nekomatata/virtual-keyboard-height-fix
Fix virtual keyboard height regression
2020-07-27 08:57:19 +02:00
8c05dadcff Fix Return key events in LineEdit & TextEdit on Android
Depending on the device implementation, editor actions could be
received with different action ids or not at all for multi-line.

Added a parameter to virtual keyboards to properly handle single-line
and multi-line cases in all situations.

Single-line:
Input type set to text without multiline to make sure actions are sent.
IME options are set to DONE action to force action id consistency.

Multi-line:
Input type set to text and multiline to make sure enter triggers new lines.
Actions are disabled by the multiline flag, so '\n' characters are
handled in text changed callbacks.
2020-07-26 20:06:07 +02:00
a2dd966301 Fix virtual keyboard height regression
Disabling virtual keyboard focus adjustement caused get_keyboard_height
to always return 0 because it was calculated when the view is resized.

In order to fix it, a PopupWindow is now created on top of the main view
and is set for focus adjustments so the keyboard size can be calculated
based on this popup without affecting the main view.
2020-07-24 19:54:06 +02:00
166103c759 Android: Keyboard modifier and arrow key support 2020-07-21 22:13:24 +03:00
b7aa474680 Merge pull request #40422 from amanj120/forward_port_bundle_pr_resources
Create strings.xml files in the Gradle project to handle localization
2020-07-20 22:26:44 +02:00
d7aaec8ffe Disable virtual keyboard focus adjustment on Android
Fixes #37190

The default adjustment setting was causing the view to pan down in order
to adjust the focus on the text content.

We don't need any focus adjustment since we're using a fixed size window
for our application.

Documentation:
https://developer.android.com/reference/android/view/WindowManager.LayoutParams#SOFT_INPUT_ADJUST_NOTHING
2020-07-20 12:04:02 +02:00
5ff6f7a86b Create strings.xml files in the gradle project to handle localization 2020-07-15 13:02:59 -04:00
9986439352 Commit other files changed by file_format.sh 2020-07-13 14:14:11 -04:00
175d43738a Enable the ability to use Godot as a subview within an Android app 2020-06-25 19:52:40 -07:00
6daf9b78af Clean up the GodotPlugin public API. 2020-06-16 09:25:09 -07:00
75100e5644 Provide the ability for clients of the Godot library to add their own command line arguments 2020-05-27 02:13:52 -07:00
3ecdc27f49 Merge pull request #39004 from nekomatata/android-reset-surface
Proper surface reset when resuming app on Android
2020-05-24 22:31:03 +02:00
b987677cc0 Proper surface reset when resuming app on Android
Just re-creating the window instead of restarting the app entirely.
2020-05-24 20:42:21 +02:00
39f59786fa Use long instead of int for object id in Android java wrapper
Using int for 64-bit values might cause issues with objects not found
in ObjectDB when the id is truncated.
2020-05-24 13:26:18 +02:00