summaryrefslogtreecommitdiffstats
path: root/platform/android/java_godot_io_wrapper.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit godotengine/godot@87318a2fb7fffeb72adca934e31915be077c3d1fSpartan3222024-11-061-11/+0
|\
| * Fix splash screen upside down on AndroidMatias N. Goldberg2024-10-311-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes an issue introduced in #96439 (see https://github.com/godotengine/godot/pull/96439#issuecomment-2447288702) Godot was relying on Java's activity.getWindowManager().getDefaultDisplay().getRotation(); to apply pre-rotation but this is wrong. First, getRotation() may temporarily return a different value from the correct one; which is what was causing the splash screen to be upside down. It would return -90 instead of 90 for the first rendered frame. But unfortunately, the splash screen is just one frame rendered for a very long time, so the error lingered for a long time for everyone to see. Second, to determine what rotation to use, we should be looking at what Vulkan told us, which is the value we pass to VkSurfaceTransformFlagBitsKHR::preTransform. This commit removes the now-unnecessary screen_get_internal_current_rotation() function (which was introduced by #96439) and now saves the preTransform value in the swapchain.
* | Merge commit godotengine/godot@8004c7524fb9f43425c4d6f614410a76678e0f7cSpartan3222024-10-301-0/+11
|\|
| * Add Swappy & Pre-Transformed SwapchainMatias N. Goldberg2024-10-281-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Adds Swappy for Android for stable frame pacing - Implements pre-transformed Swapchain so that Godot's compositor is in charge of rotating the screen instead of Android's compositor (performance optimization for phones that don't have HW rotator) ============================ The work was performed by collaboration of TheForge and Google. I am merely splitting it up into smaller PRs and cleaning it up. Changes from original PR: - Removed "display/window/frame_pacing/android/target_frame_rate" option to use Engine::get_max_fps instead. - Target framerate can be changed at runtime using Engine::set_max_fps. - Swappy is enabled by default. - Added documentation. - enable_auto_swap setting is replaced with swappy_mode.
* | Fix copyright headers referring to GodotSpartan3222024-10-271-2/+2
| |
* | Rebrand preambles to RedotDubhghlas McLaughlin2024-10-111-0/+2
|/ | | | | | | | | | | | | | | | | | | | | | Credits: Co-authored-by: Skogi <skogi.b@gmail.com> Co-authored-by: Spartan322 <Megacake1234@gmail.com> Co-authored-by: swashberry <swashdev@pm.me> Co-authored-by: Christoffer Sundbom <christoffer_karlsson@live.se> Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: McDubh <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: radenthefolf <radenthefolf@gmail.com> Co-authored-by: John Knight <80524176+Tekisasu-JohnK@users.noreply.github.com> Co-authored-by: Adam Vondersaar <adam.vondersaar@uphold.com> Co-authored-by: decryptedchaos <nixgod@gmail.com> Co-authored-by: zaftnotameni <122100803+zaftnotameni@users.noreply.github.com> Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com> Co-authored-by: wesam <108880473+wesamdev@users.noreply.github.com> Co-authored-by: Mister Puma <MisterPuma80@gmail.com> Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com> Co-authored-by: SingleError <isaaconeoneone@gmail.com> Co-authored-by: Bioblaze Payne <BioblazePayne@gmail.com>
* [DisplayServer] Implement has_hardware_keyboard method for Android and iOS.bruvzg2024-10-021-0/+11
|
* Fix leakage of JNI object referencesFredia Huya-Kouadio2024-04-151-2/+9
| | | | Fixes https://github.com/godotengine/godot/issues/87548
* One Copyright Update to rule them allRémi Verschelde2023-01-051-29/+29
| | | | | | | | | | | | | | | | | | | | As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
* Replace Array return types with TypedArraykobewi2022-08-221-2/+2
|
* Add support for multiple virtual keyboard typesBrian Semrau2022-08-041-3/+3
|
* Cleanup Android C++ codeMarcel Admiraal2022-05-311-14/+14
|
* Fix screen_get_usable_rect returning display safe areaMarcel Admiraal2022-05-021-15/+14
|
* Add a method for obtaining display cutouts on AndroidMarcel Admiraal2022-04-261-0/+24
|
* Merge pull request #59866 from m4gr3d/update_default_display_scale_mainRémi Verschelde2022-04-041-0/+11
|\
| * Update the editor display scale based on the device's scaled densityFredia Huya-Kouadio2022-04-041-0/+11
| |
* | Remove duplicate `resizable` settingsFredia Huya-Kouadio2022-04-041-3/+0
|/
* Update `resize` settings:Fredia Huya-Kouadio2022-04-041-0/+3
| | | | | - Unlock resizing for the Godot Editor - Add an option to specify whether a game is resizeable for the Godot template
* Style: Cleanup single-line blocks, semicolons, dead codeRémi Verschelde2022-02-161-0/+1
| | | | | Remove currently unused implementation of TextureBasisU, could be re-added later on if needed and ported.
* Fix typos with codespellRémi Verschelde2022-02-101-2/+2
| | | | | | | Using codespell 2.2-dev from current git. Added `misc/scripts/codespell.sh` to make it easier to run it once in a while and update the skip and ignore lists.
* Add screen_get_refresh_rate to DisplayServerjordi2022-02-031-0/+14
|
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* Add partial support for Android scoped storage.ne0fhyk2021-08-161-10/+10
| | | | | 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.
* Add OS.get_external_data_dir() to get Android external directoryMarcel Admiraal2021-06-101-0/+12
|
* Fixes on android:Bastiaan Olij2021-03-181-0/+12
| | | | | | - creating Vulkan context instead of OpenGL - checking for validity of ENV in wrapper classes - fix for access to JavaVM from threads
* Modernize atomicsPedro J. Estébanez2021-02-181-4/+4
| | | | | | | | | | - Based on C++11's `atomic` - Reworked `SafeRefCount` (based on the rewrite by @hpvb) - Replaced free atomic functions by the new `SafeNumeric<T>` - Replaced wrong cases of `volatile bool` by the new `SafeFlag` - Platform-specific implementations no longer needed Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
* Modernize ThreadPedro J. Estébanez2021-01-291-13/+13
| | | | | | | | | - Based on C++11's `thread` and `thread_local` - No more need to allocate-deallocate or check for null - No pointer anymore, just a member variable - Platform-specific implementations no longer needed (except for the few cases of non-portable functions) - Simpler for `NO_THREADS` - Thread ids are now the same across platforms (main is 1; others follow)
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | 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 🎆
* Reorganized core/ directory, it was too fatty alreadyreduz2020-11-071-1/+1
| | | | | | -Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
* Implement OS.get_window_safe_area() for AndroidMark Riedesel2020-10-271-0/+14
|
* Fix Return key events in LineEdit & TextEdit on AndroidPouleyKetchoupp2020-07-261-3/+3
| | | | | | | | | | | | | | | | | 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.
* Fix Android LineEdit editing bugsSkyJJ2020-05-161-3/+3
|
* Display Server supportPouleyKetchoupp2020-04-081-31/+10
|
* Android virtual keyboard respecting LineEdit max length.Bruno Lourenço2020-01-231-3/+3
|
* Update copyright statements to 2020Rémi Verschelde2020-01-011-2/+2
| | | | | | | | | | | Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
* Change "ID" to lowercase "id"Aaron Franke2019-05-091-3/+3
| | | | Reasoning: ID is not an acronym, it is simply short for identification, so it logically should not be capitalized. But even if it was an acronym, other acronyms in Godot are not capitalized, like p_rid, p_ip, and p_json.
* Restructuring glue code to make it easier to extendBastiaan Olij2019-04-051-0/+207