summaryrefslogtreecommitdiffstats
path: root/platform/android
Commit message (Collapse)AuthorAgeFilesLines
* StringName Dictionary keysrune-scape2024-08-291-1/+1
| | | | | also added 'is_string()' method to Variant and refactored many String type comparisons to use it instead
* Add support for launching the Play window in PiP modeFredia Huya-Kouadio2024-08-2821-53/+548
|
* Add support to the Android editor for signing and verifying Android apksFredia Huya-Kouadio2024-08-26123-0/+31164
| | | | - Apk signing and verification is enabled using the apksig library from https://android.googlesource.com/platform/tools/apksig/+/ac5cbb07d87cc342fcf07715857a812305d69888
* Update the `GodotHost` interface to support signing and verifying Android apksFredia Huya-Kouadio2024-08-2617-54/+228
| | | | | | Update the export logic to enable apk generation and signing for Android editor builds Note: Only legacy builds are supported. Gradle builds are not supported at this point in time.
* Update the storage access handler logic to support accessing / retrieving ↵Fredia Huya-Kouadio2024-08-2619-265/+666
| | | | contents with the `assets:/` prefix
* Add debug utilities for VulkanMatias N. Goldberg2024-08-211-1/+1
| | | | | | | | | | | | | | | | | | | | | Features: - Debug-only tracking of objects by type. See get_driver_allocs_by_object_type et al. - Debug-only Breadcrumb info for debugging GPU crashes and device lost - Performance report per frame from get_perf_report - Some VMA calls had to be modified in order to insert the necessary memory callbacks Functionality marked as "debug-only" is only available in debug or dev builds. Misc fixes: - Early break optimization in RenderingDevice::uniform_set_create ============================ The work was performed by collaboration of TheForge and Google. I am merely splitting it up into smaller PRs and cleaning it up.
* Merge pull request #94799 from ↵Rémi Verschelde2024-08-169-185/+572
|\ | | | | | | | | | | m4gr3d/memory_allocation_cleanup_and_optimizations Android memory cleanup and optimizations
| * Memory cleanup and optimizationsFredia Huya-Kouadio2024-08-169-185/+572
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Returns an empty list when there's not registered plugins, thus preventing the creation of spurious iterator objects - Inline `Godot#getRotatedValues(...)` given it only had a single caller. This allows to remove the allocation of a float array on each call and replace it with float variables - Disable sensor events by default. Sensor events can fired at 10-100s Hz taking cpu and memory resources. Now the use of sensor data is behind a project setting allowing projects that have use of it to enable it, while other projects don't pay the cost for a feature they don't use - Create a pool of specialized input `Runnable` objects to prevent spurious, unbounded `Runnable` allocations - Disable showing the boot logo for Android XR projects - Delete locale references of jni strings
* | Merge pull request #95586 from m4gr3d/fix_last_modified_time_unitRémi Verschelde2024-08-162-2/+2
|\ \ | | | | | | | | | Update the Android `fileLastModified` method to return values in seconds instead of milliseconds
| * | Update the Android `fileLastModified` method to return values in seconds ↵Fredia Huya-Kouadio2024-08-152-2/+2
| | | | | | | | | | | | instead of milliseconds
* | | Merge pull request #91271 from m4gr3d/clean_gradle_build_setupRémi Verschelde2024-08-164-219/+110
|\ \ \ | |/ / |/| | | | | Clean up the gradle build logic used to generate the Godot Android binaries
| * | Clean up the build commands used by the editor for gradle buildsFredia Huya-Kouadio2024-05-313-64/+33
| | |
| * | Clean up the gradle build logic used to generate the Godot Android binariesFredia Huya-Kouadio2024-05-311-155/+77
| | |
* | | Android: Ensure cleanup of all subobjects in the OpenSL audio driverPierce Brooks2024-07-302-11/+42
| | |
* | | Merge pull request #94923 from m4gr3d/fix_crash_on_android_terminateRémi Verschelde2024-07-301-0/+4
|\ \ \ | | | | | | | | | | | | Fix crash that occurs on termination of the Godot engine on Android
| * | | Fix the crash that occurs on termination of the Godot engine on AndroidFredia Huya-Kouadio2024-07-291-0/+4
| | | |
* | | | Fix the `generate_apk` logic when `dev_build` or `debug_symbols` are enabledFredia Huya-Kouadio2024-07-291-19/+12
|/ / / | | | | | | | | | Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
* | | Merge pull request #94809 from ↵Rémi Verschelde2024-07-281-1/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | ChrisBase/fix_keytool_for_android_export_not_found Fix Android export failing with custom keystores and no JDK setup in the OS environment
| * | | Fixed Android export failing when no JDK is setup in the OS environment and ↵Chris2024-07-271-1/+2
| | |/ | |/| | | | | | | custom keystores have been set in the export dialog.
* | | Merge pull request #92859 from Summersay415/do-not-stripRémi Verschelde2024-07-281-1/+1
|\ \ \ | |/ / |/| | | | | Android: Change the way `doNotStrip` is set
| * | Change the way doNotStrip is setSummersay4152024-06-171-1/+1
| | |
* | | Fix the cleanup logic for the Android render threadFredia Huya-Kouadio2024-07-2415-37/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Android the exit logic goes through `Godot#onDestroy()` who attempts to cleanup the engine using the following code: ``` runOnRenderThread { GodotLib.ondestroy() forceQuit() } ``` The issue however is that by the time we ran this code, the render thread has already been paused (but not yet destroyed), and thus `GodotLib.ondestroy()` and `forceQuit()` which are scheduled on the render thread are not executed. To address this, we instead explicitly request the render thread to exit and block until it does. As part of it exit logic, the render thread has been updated to properly destroy and clean the native instance of the Godot engine, resolving the issue.
* | | Disable FP contraction.bruvzg2024-07-231-0/+2
| | |
* | | Merge pull request #94468 from ↵Rémi Verschelde2024-07-172-2/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | m4gr3d/restart_editor_when_updating_touchscreen_settings [Android Editor] Resolve issues with the editor touchscreen settings
| * | | Disable long press for mouse eventsFredia Huya-Kouadio2024-07-172-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | Long press is used to simulate right-click events for finger touch and stylus. The previous logic also caused it to trigger for mouse input, which is not needed since the user can instead use the mouse right click button. This update disables long press as right click events for mouse input.
* | | | Merge pull request #94425 from m4gr3d/fix_remote_android_button_not_enablingRémi Verschelde2024-07-171-0/+1
|\ \ \ \ | | | | | | | | | | | | | | | Fix issue preventing enabling the remote button for Android/iOS
| * | | | Fix issue preventing enabling the remote button for AndroidFredia Huya-Kouadio2024-07-161-0/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/godotengine/godot/pull/92032 updated the logic to enable / disable the remote debug button, and in doing so added a `can_export` check. However, no events / notifications are dispatched when the value of the `can_export` check changes, which in turn prevents the logic used to enable / disable the remote debug button from running again. The fix consists then in removing the `can_export` check, so that the remote debug button shows as `enabled` when a preset is present and is runnable.
* / / / Cleanup Android input on render thread settingsFredia Huya-Kouadio2024-07-098-57/+23
|/ / / | | | | | | | | | | | | | | | | | | Follow up to https://github.com/godotengine/godot/pull/93933 Clean up the set of settings use to control whether Android input should be dispatched on the render thread. Addresses comments in https://github.com/godotengine/godot/pull/93933#issuecomment-2210437977
* | | Fix ANRs reported by the Google Play ConsoleFredia Huya-Kouadio2024-07-0411-124/+223
| | | | | | | | | | | | | | | | | | - Add support for dispatching input on the render thread (UI thread is the current default) when `input_buffering` and `accumulated_input` are disabled. At the expense of latency, this helps prevent 'heavy' applications / games from blocking the UI thread (the default behavior) which may cause the application to ANR. - Remove GLSurfaceView logic causing the UI thread to wait on the GL thread during lifecycle events. The removed logic would cause the UI thread to ANR when the GL thread is blocked.
* | | Fix crashes reported by the Google Play ConsoleFredia Huya-Kouadio2024-07-046-42/+56
| | |
* | | Fix the issue causing the logo to not show when using the `compatibility` ↵Fredia Huya-Kouadio2024-07-031-20/+33
| | | | | | | | | | | | renderer
* | | Improve handling of rendering startup errorsPedro J. Estébanez2024-06-281-1/+9
| | |
* | | Revert hiding of custom templates under the `Advanced Options` toggleFredia Huya-Kouadio2024-06-241-1/+1
| | |
* | | Style: Optimize `.svg` files with `svgo`Thaddeus Crews2024-06-232-2/+2
|/ /
* | Merge pull request #92965 from m4gr3d/fix_splash_screenRémi Verschelde2024-06-1319-186/+122
|\ \ | | | | | | | | | Update the Android splash screen logic
| * | Update the splash screen logic for the Godot app templateFredia Huya-Kouadio2024-06-108-155/+31
| | | | | | | | | | | | Due to limitations to the splash screen introduced in Android 12, the splash screen logic is updated to the same logic as used on other platforms, i.e: the splash screen is rendered by the Godot engine instead of the Android runtime.
| * | Configure the splash screen for the Android editorFredia Huya-Kouadio2024-06-1011-31/+91
| | |
* | | Move the most specific motion event guard to the top of the function.Tareq Anuar2024-06-111-13/+12
|/ /
* | Merge pull request #92580 from hccloud/masterRémi Verschelde2024-06-071-12/+5
|\ \ | | | | | | | | | Remove the limit on the number of the SignalInfo creation function parameters
| * | Remove the limit on the number of the SignalInfo function parametersYuzhao Wang2024-06-051-12/+5
| | | | | | | | | | | | | | | | | | Update platform/android/api/jni_singleton.h Co-authored-by: A Thousand Ships (she/her) <96648715+AThousandShips@users.noreply.github.com>
* | | Merge pull request #92704 from m4gr3d/update_android_editor_activity_layoutRémi Verschelde2024-06-043-98/+99
|\ \ \ | | | | | | | | | | | | Consolidate the ProjectManager and Editor windows into a single Android Activity class
| * | | Consolidate the ProjectManager and Editor windows into a single Android ↵Fredia Huya-Kouadio2024-06-023-98/+99
| | |/ | |/| | | | | | | Activity class.
* / | Fix invalid return value when multiple permission requests are dispatchedFredia Huya-Kouadio2024-06-021-4/+6
|/ /
* / SCons: Process platform-specific flags earlierRémi Verschelde2024-05-301-1/+1
|/ | | | | | | | | | Some of the logic in SCons depends on flags that get overridden in the platform-specific `detect.py`, so it needs to be processed first. For example the Android/iOS/Web platforms override the default `target` to `template_debug`, but this was processed too late so e.g. the logic that sets `env.editor_build` would set it to true due to the default `target` value in the environment being `editor`.
* Ensure that Godot's version of libc++_shared.so is always selected in case ↵Mauricio Narvaez2024-05-291-0/+6
| | | | dependencies have their own
* Merge pull request #92133 from m4gr3d/fix_touch_inputRémi Verschelde2024-05-296-120/+127
|\ | | | | Fix invalid detection of mouse input
| * Input logic cleanup:Fredia Huya-Kouadio2024-05-196-120/+127
| | | | | | | | | | | | | | | | | | | | - Fix invalid detection of mouse input. Prioritize using the event tool type to detect the type of the event, and only use the event source as fallback. - Ensure that pressure and tilt information is passed for touch drag events - Consolidate logic and remove redundant methods - Improve the logic to detect when external hardware keyboards are connected to the device
* | Merge pull request #92252 from poiati/fix-wayland-window-classRémi Verschelde2024-05-232-5/+5
|\ \ | | | | | | | | | Properly set window class in Wayland
| * | Properly set window class in WaylandPaulo Poiati2024-05-222-5/+5
| | |
* | | SCons: Convert platform `get_flags` to dictionaryThaddeus Crews2024-05-221-5/+5
|/ /