Commit Graph

128 Commits

Author SHA1 Message Date
d6f5dd35e8 Ported: Enable granular control of touchscreen related settings
- m4gr3d
61e41facc7
2023-06-11 12:57:25 +02:00
4f2f3f4cf0 Fix android editor build. 2023-06-11 10:45:38 +02:00
3331a7ae04 Ported: Augment the InputEvent class with a CANCELED state
The `InputEvent` class currently supports the `pressed` and `released` states, which given the binary nature, is represented by a `bool` field.
This commit introduced the `CANCELED` state, which signals that an ongoing input event has been canceled.
To represent all the states, the `InputEventState` enum is added and the `InputEvent` logic is refactored accordingly.
- m4gr3d
94d6c3dcc6
2023-06-11 10:26:23 +02:00
7e64510427 Ported: 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
- m4gr3d
b5a908c985
Removed my force launch adjacent solution in favor of this.
2023-06-11 09:52:39 +02:00
ca982ac507 Ported: 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).
- m4gr3d
Also contains some mouse pointer improvements.
2023-05-01 15:32:01 +02:00
Fredia Huya-Kouadio
d54b5ad8f8 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-05-01 12:01:13 +02:00
e32e0af40f Ported: Fix null in android text entry system.
- jasonwinterpixel
cec8e09948
2023-04-20 23:46:17 +02:00
6bba08c00b Ported: Bump the target SDK version to 33 (Android 13)
- m4gr3d
2803c471e8
2023-04-15 11:15:16 +02:00
76f9237411 Ported: Fix directory access when the running app has the All files access permission
- m4gr3d
e2c7d3e6c0
2023-04-15 11:11:29 +02:00
9fb30c4441 Ported: Use the new API for virtual keyboard height detection on Android, bugfix .
- necrashter
9bdb585318
2023-03-12 15:26:58 +01:00
0d12c7ed08 Ported: Fix the issue causing long-press on a selected node on the scene tree to trigger both the context menu and the rename functionality.
- m4gr3d
6528f984fe
2023-03-12 13:03:41 +01:00
0eb9d6648f Added a setting to force launch the project in an adjacent window in the android editor. 2023-02-08 09:25:47 +01:00
7f358b25a6 Fix missing import. 2023-02-07 10:38:29 +01:00
e9c3603024 Fix an another typo. 2023-02-07 09:46:51 +01:00
fdd62f1d9a Fix typo. 2023-02-07 08:55:00 +01:00
f05211351b Fix typos. 2023-02-07 03:09:55 +01:00
de642e971d Ported: 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.
- m4gr3d
b04c9a71f4
2023-02-07 02:58:31 +01:00
db67fa53ea Ported: Add a theme usability setting which updates the touch area of UI elements (e.g: scrollbar) for the editor on touchscreen devices
- m4gr3d
8170b7ae1e
2023-02-07 02:50:11 +01:00
e6248b33ab Ported: 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.
- m4gr3d
48a55ffad3
2023-02-07 02:44:47 +01:00
2e7ee5cef6 Ported: Update the logic to calculate the screen scale on Android
Takes into account the ratio between the screen size and the default window dimensions.
- m4gr3d
48aedb239e
2023-02-07 02:22:44 +01:00
7b0a6b3da8 More fixes. 2023-01-16 01:55:43 +01:00
ee1a7ad8ce Fixed more typos. 2023-01-16 01:22:29 +01:00
5d2cd49139 Fix typos. 2023-01-16 00:54:48 +01:00
2cd4e4d828 Renamed Set to RBSet. 2023-01-15 19:42:08 +01:00
1b0aac6028 Renamed Map to RBMap. 2023-01-15 19:12:50 +01:00
faf7b1573f Fix warnings. 2022-12-31 16:02:27 +01:00
213f393293 Fix typos with codespell. 2022-12-22 19:51:25 +01:00
9f9113c1b2 Ported: Upgrade Android gradle plugin to version 7.2.1 - m4gr3d
de45636fd3
2022-12-22 17:48:33 +01:00
91e598aa7b Ported: SCons: Cleanup DEBUG, _DEBUG and NDEBUG defines
- `_DEBUG` is MSVC specific so it didn't make much sense to define for
  Android and iOS builds.
- iOS was the only platform to define `DEBUG`. We don't use it anywhere
  outside thirdparty code, which we usually don't intend to debug, so it
  seems better to be consistent with other platforms.
- Consistently define `NDEBUG` to disable assert behavior in both `release`
  and `release_debug` targets. This used to be set for `release` for all
  platforms, and `release_debug` for Android and iOS only.
- Due to the above, I removed the only use we made of `assert()` in Godot
  code, which was only implemented for Unix anyway, should have been
  `DEV_ENABLED`, and is in PoolAllocator which we don't actually use.
- The denoise and recast modules keep defining `NDEBUG` even for the `debug`
  target as we don't want OIDN and Embree asserting all over the place.
- akien-mga
b0b759e6da
2022-12-22 17:42:54 +01:00
Dennis Ranke
6c85c2389b 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 408000752cb39f93b2639fdeefb783e4dd76910f)
2022-12-22 13:56:16 +01:00
Rémi Verschelde
8be8577da6 SCons: Remove redundant -fomit-frame-pointer and -ftree-vectorize
- `-fomit-frame-pointer` is included automatically by both GCC and
  Clang in `-O1` and above.
- `-ftree-vectorize` is included automatically by GCC in `-O2` and
  beyond, and seems always enabled by Clang.

Closes #66296. See that issue for a detailed investigation.

(cherry picked from commit c5c3d13dc0dbbf95a2350f57d69e7cdc546d395d)
2022-12-11 19:12:18 +01:00
47e2a193c4 Fix typo. 2022-11-30 19:36:35 +01:00
8eb69b8052 Fix android build. 2022-11-30 19:33:24 +01:00
ba39fa8970 Ported: Fix incorrect Android scancodes - madmiraal
Also ported:  Fix wrong android key mapping.
Fixes the wrong mapping of `Key::HOME`. Androids `KEYCODE_HOME` is in fact the hardware home button the right mapping is `KEYCODE_MOVE_HOME`.
Also adds mappings to keys that were not present before.
- HolonProduction
2f7de4c8ed
477d24b6d1
2022-11-30 18:58:00 +01:00
d0bb264cc2 Ported: Fix parsing of the keep_screen_on display setting.
- m4gr3d
d08e057194
2022-11-30 18:44:51 +01:00
19efacc416 Ported: Fix 'save & restart' logic for the Android Editor - m4gr3d
5aab84befb
2022-11-30 18:12:43 +01:00
Dan
cfc4f0f050 fix exporting Android APPLICATION_ATTRIBS (3.X) 2022-11-30 14:42:07 +01:00
a3f2631d59 Ported: Add double_tap attribute to InputEventScreenTouch
This provides parity with the `InputEventMouseButton` allowing for proper conversion between the two events.
- m4gr3d
be4b07c3e4
2022-11-13 01:29:17 +01:00
db926ddd0c Ported: Add support for pointer capture - m4gr3d
5149311316
2022-11-13 01:13:22 +01:00
1875780dbe Ported: Update the clean task configuration
Running `gradlew clean` will now properly delete the generated build artifacts
- m4gr3d
71c76a4ff2
2022-11-13 00:34:19 +01:00
4f9137a7e5 Fix jni class access string. 2022-10-12 13:56:47 +02:00
078f558a1a Fix an another typo. 2022-10-08 19:11:36 +02:00
aad46d0e80 Fixed compile error. 2022-10-08 19:06:12 +02:00
d8a48e51bd Ported: Add cursor shape support for the Android platform - m4gr3d
46f091a803 (diff-654c896c53f1fe1db3c63e1f0409d7929b54f1e4e43b49b21a0a4eba4f945c15)
2022-10-08 19:03:10 +02:00
35249df651 Ported: Fix null in android keyboard handling.
- jasonwinterpixel
31fe6848e8
2022-10-08 18:32:02 +02:00
Rémi Verschelde
fe5d1cc8ff SCons: Refactor handling of production flag and per-platform LTO defaults
Fixup to #63288.
See #65583 for the bug report.

Co-authored-by: Cyberrebell <chainsaw75@web.de>
(cherry picked from commit 35a15e619161798820b2bd6ff46178c5b7ccebcf)
2022-10-08 16:18:23 +02:00
42a9dc5e8d Fixed the android editor, now it can open projects again. Also smaller codestyle fixes. 2022-09-17 21:27:19 +02:00
f30076a9f5 Ported: Disable menus and functionality that are not relevant on the Android Editor port - m4gr3d
1f23bac645
2022-09-17 17:36:35 +02:00
6b9e851e5c Ported: Fix issue causing the project manager to crash because of missing path argument
In the process, the initialization logic is updated to show an error message and gracefully close the engine when setup errors occur.
- m4gr3d
4be7c91cd9
2022-09-17 17:27:50 +02:00
6e97e0c485 Fix android build. 2022-09-17 17:14:19 +02:00