Commit graph

509 commits

Author SHA1 Message Date
fhuya
d7b10beb1b Update the naming scheme for the GodotPlugin's methods in preparate of the vulkan integration. 2020-03-19 15:28:33 -07:00
fhuya
99173c5fc4 Complete the implementation of the GodotPayment plugin.
Move the remaining plugin components within the plugin source code.
2020-03-17 17:43:09 -07:00
Rémi Verschelde
6c74f38f0b
Merge pull request #36906 from m4gr3d/enable_android_studio_debugging
Enable Android Studio debugging
2020-03-17 16:31:04 +01:00
PouleyKetchoupp
c169367e83 Fix text_entered signal when max_length is used in LineEdit on Android
Fixes #35954
2020-03-13 17:04:40 +01:00
fhuya
7aa1c3e490 Fix initialization of the GodotPayment plugin
The `onGLRegisterPluginWithGodotNative()` method is supposed to be invoked only by `Godot`.
2020-03-09 10:32:23 +01:00
fhuya
41dadb2b2b Enable Android studio debugger. 2020-03-08 12:37:46 +01:00
fhuya
7dea2ad1de Trim the whitespace around the plugins names. 2020-03-06 17:22:04 -08:00
fhuya
f097defba1 Re-architecture of the Godot Android plugin. 2020-03-05 10:00:19 -08:00
fhuya
c090caa58b Provides a base implementation of the Vulkan surface view (VkSurfaceView.kt) and its accompanying components.
The implementation is meant to be extended and updated in order to integrate it with the existing Godot java and native codebase.
2020-03-05 08:01:42 -08:00
fhuya
b38283a6b7 Miscellaneous cleanup for the Android codebase:
- update gradle plugins versions
- add formatting rules for AndroidManifest and gradle build files
- cleanup java_godot_lib_jni

Note: logic was mostly moved around and no new logic/functionality was added.
2020-03-04 12:16:17 -08:00
bruvzg
1af06d3d46
Rename scancode to keycode.
Add `physical_keycode` (keyboard layout independent keycodes) to InputEventKey and InputMap.
Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
2020-02-25 12:30:33 +02:00
Rémi Verschelde
386968ea97 Remove obsolete GLES3 backend
Due to the port to Vulkan and complete redesign of the rendering backend,
the `drivers/gles3` code is no longer usable in this state and is not
planned to be ported to the new architecture.

The GLES2 backend is kept (while still disabled and non-working) as it
will eventually be ported to serve as the low-end renderer for Godot 4.0.

Some GLES3 features might be selectively ported to the updated GLES2
backend if there's a need for them, and extensions we can use for that.

So long, OpenGL driver bugs!
2020-02-13 10:36:44 +01:00
PouleyKetchoupp
196860508a Fixed LineEdit virtual keyboard inputs on Android
Changed the condition to add a length filter to make it consistent with the documentation (0 means no character limit). Otherwise the default value in LineEdit causes the virtual keyboard to be non-fonctional on Android.
2020-01-31 16:24:09 +01:00
fhuya
9bd841b86d Address crash caused by missing dependency. 2020-01-27 10:45:25 -08:00
fhuya
e41caac7db Address crash caused by missing dependency. 2020-01-27 10:26:01 -08:00
Bruno Lourenço
a3bcdbeb78 Android virtual keyboard respecting LineEdit max length. 2020-01-23 01:52:49 +00:00
Bruno Lourenço
abe83a1c84 Add support for Android adaptive icons. 2020-01-14 16:11:07 +00:00
Alexander Holland
dd2fd4e853 fixes android double tap regression 2020-01-13 12:46:33 +01:00
Alexander Holland
b1b308411a Fixes Android FileDialog
- Go up was not working, simplify was used one time too much
- Added GestureHandler
  - Added doubleTap to recognize open dir
  - Fixed scroll where sometimes the scroll jumped between start and end when pointer was outside or on the edge of the scroll area
2020-01-10 15:25:08 +01:00
Rémi Verschelde
a7f49ac9a1 Update copyright statements to 2020
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.
2020-01-01 11:16:22 +01:00
fhuya
50ab6decfe Replace the android.defaultConfig.applicationId in build.gradle with the package/unique_name. 2019-12-30 10:33:48 -05:00
Rémi Verschelde
8938577459 i18n: Sync translations with Weblate + update template
Also fix a few stray clang-format formatting errors that passed
through CI unnoticed.
2019-12-22 13:27:02 +01:00
Fabio Alessandrelli
ca19a3fe9a Fix crash on Android with no manifest permissions.
API allows for null array of permissions. It is now normalized with an
empty array.
2019-12-17 14:46:04 +01:00
Fabio Alessandrelli
fafda80a4b Add GodotNetUtils Java class for Android.
Provides access to a MulticastLock.
As specified by the Android API, broadcast/multicast packets may be
filtered on some phones unless the application explicitly acquires
a "MulticastLock".
2019-12-14 18:10:36 +01:00
Rémi Verschelde
c41c24562d Style: Add missing copyright headers 2019-11-22 08:37:09 +01:00
Cagdas
0088385556 Add request permission automatically at android 2019-10-22 22:52:13 +03:00
Rémi Verschelde
acd5c7e767
Merge pull request #32858 from m4gr3d/expand_singleton_base_api
Add `View SingletonBase#onMainCreateView(Activity activity)` api
2019-10-22 13:52:39 +02:00
Fredia Huya-Kouadio
4407350608 Add View onMainCreateView(Activity activity) api to the Godot.SingletonBase class.
The new api allows plugins to define and provide their views for inclusion in the Godot Android view hierarchy.
2019-10-18 10:05:53 -07:00
Hugo Locurcio
c8a8be6dd1
Optimize images losslessly using oxipng -o6 --strip all --zopfli 2019-10-12 23:23:33 +02:00
Alexander Holland
db582a2c8c Adds Pen support for Android 2019-10-04 23:57:01 +02:00
Rémi Verschelde
0c7b3fff44 Android: Fix manifest parsing and APK names in export code
A better fix would be to make Godot's export code properly parse the
tag over multiple lines (and maybe even use XMLParser instead of doing
it ad-hoc?).

As for the APK names, we could alternatively pick the first .apk found
in the `debug` and `release` folders without expecting a specific name.

Fixes #32414.
2019-10-03 12:13:45 +02:00
Rémi Verschelde
2b628e5d5b
Merge pull request #32269 from m4gr3d/improve_build_time
Update the Godot gradle build tasks to provide additional flexibility
2019-09-24 16:29:34 +02:00
fhuya
ef143447ad Updates the Godot gradle tasks to enable manual runs of the scons command.
Example: To generate for the `release` build target and for the `armv7`, `arm64v8` and `x86` architectures, run the commands:
```
cd godot
scons -j4 platform=android target=release android_arch=armv7
scons -j4 platform=android target=release android_arch=arm64v8
scons -j4 platform=android target=release android_arch=x86
cd platform/android/java
./gradlew generateGodotTemplates
```

Notes:
- The generated build templates will be located in the `godot/bin` directory (i.e: `android_debug.apk`, `android_release.apk`, `android_source.zip`).
- The gradle command will only generate templates for the target(s) with available native shared libraries. For example, running the commands above will only generate the `android_release.apk` and `android_source.zip` files.

To delete the generated artifacts, the following commands can be used:
```
cd platform/android/java
./gradlew cleanGodotTemplates
```
2019-09-24 06:18:21 -07:00
Rémi Verschelde
823c3def72 Fix copyright headers and style issues 2019-09-24 11:52:06 +02:00
Rémi Verschelde
ce384f885c
Merge pull request #32250 from lawnjelly/android-keyboard2
Fix Android keyboard crash with left cursor
2019-09-23 22:09:09 +02:00
lawnjelly
ad5d0cca4d Fix Android keyboard crash with left cursor
Fixes #32168.
Previously we were returning all key up and key down messages as unhandled to the OS. This was resulting in crashes on certain keypresses (left cursor), for undetermined reason.

This PR defaults all key up and keydown messages to be returned as handled by Godot, except those explicitly coded as exceptions (currently volume keys only).
2019-09-23 18:08:41 +01:00
fhuya
a7712cc9e4 Add new events and accompanying logic to notify when the app is paused and resumed on Android devices. 2019-09-19 13:29:49 -07:00
fhuya
7fabfd402f Split the Android platform java logic into an Android library module (lib) and an application module (app).
The application module `app` serves double duties of providing the prebuilt Godot binaries ('android_debug.apk', 'android_release.apk') and the Godot custom build template ('android_source.zip').
2019-09-04 16:20:22 -07:00
Rémi Verschelde
f38c64e8b1
Merge pull request #31709 from akien-mga/android-fix-thirdparty
Android: Fix another regression with Secure.ANDROID_ID, and fix formatting and documentation of thirdparty code
2019-08-27 20:16:08 +02:00
Rémi Verschelde
b7c46ed929
Merge pull request #31713 from volzhs/fix-vibrate
Suppress MissingPermission warning for Android vibration
2019-08-27 17:42:32 +02:00
Rémi Verschelde
eb8d181cb2 Android: Sync Google billing library with upstream, unmodified
Synced with 7a94c6905a.
2019-08-27 15:15:37 +02:00
volzhs
8cda898fbb Suppress MissingPermission warning for Android vibration
It does check its permission every `vibrate_handheld()` calls.
Vibrate permission is added by checking it on export settings.

And there are some changes for deprecated method.
2019-08-27 22:01:45 +09:00
Rémi Verschelde
472d10a0ad Android: Reapply custom changes to Google expansion.downloader lib
I don't know why they're needed, but readding for now to keep things
working as they were.
2019-08-27 14:30:14 +02:00
Rémi Verschelde
ee5898f58a Android: Resync Google expansion.downloader library with upstream, unmodified
Synced with 9ecf54e5ce.
2019-08-27 14:10:31 +02:00
Rémi Verschelde
ce60217894 Android: Reapply changes to Google licensing lib from #24145
But document them better this time.
2019-08-27 14:10:30 +02:00
Rémi Verschelde
6f0367052a Android: Resync Google licensing lib with upstream, unmodified
It had been synced with style changes (spaces -> tabs), not sure why
I accepted to merge it this way back then...

Synced with eb57657f66,
same as before.

Custom-changes will be reapplied in the next commit, if relevant.
2019-08-27 13:44:16 +02:00
Rémi Verschelde
071ebb1e48 Android: Fix another regression with Secure.ANDROID_ID
Regression from #24145, which was missed in #28146.
2019-08-27 13:44:07 +02:00
Rémi Verschelde
04ac6a43a4 Android: Style fixes to manifest and build.gradle 2019-08-27 11:16:55 +02:00
Rémi Verschelde
1afd77e375 Android: Bump gradle version to 5.1.1
Matching changes made in #31521 and #31547 but only in the Jetbrains
IDE config.
2019-08-27 10:22:05 +02:00
fhuya
5eaaabceaf Update the fallback input mapping for the Oculus mobile devices. 2019-08-26 18:48:54 -07:00
Rémi Verschelde
1a4dbd9ee2
Merge pull request #31437 from volzhs/vibrate-mobile
Support vibration for Android and iOS
2019-08-21 21:10:22 +02:00
volzhs
4061e5bb75 Support vibration for Android and iOS 2019-08-21 23:38:53 +09:00
fhuya
f35b1f3b91 Shut down Godot processes on app exit. 2019-08-20 22:35:46 -07:00
fhuya
dea414abc8 Make the meta-data name attribute settable. This will facilitate reuse for ARCore integration. 2019-07-02 11:21:26 -07:00
Rémi Verschelde
d2c416ec62
Merge pull request #29824 from m4gr3d/add_ovr_export
Add XR mode selection to the Android export process.
2019-07-02 10:36:30 +02:00
fhuya
12e0dc1b65 Add XR mode selection to the Android export process. 2019-07-02 00:12:38 -07:00
lawnjelly
512f8ebb93 Fix some keyboards not working with Android
Fixes #17004

Currently the keydown and keyup messages are handled with method like this:

if ((source & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK
|| (source & InputDevice.SOURCE_DPAD) == InputDevice.SOURCE_DPAD
|| (source & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) {
// joystick input
}
else
{
// keyboard input
}

The constant for SOURCE_DPAD is 513
10 0000 0001

and the constant for SOURCE_KEYBOARD is 257
1 0000 0001

However, rather confusingly, for many keyboards the source sent by android is 769
11 0000 0001

Thus the keyboard is passing the check as being a DPAD and being processed as a joystick rather than keyboard. This PR handles the specific case of 769, allowing input from physical keyboards.
2019-06-21 12:57:33 +01:00
fhuya
2c3536810a Setup Godot to support the Oculus Mobile SDK. 2019-05-30 16:35:50 -07:00
wombatstampede
6e46701e64 Android: Include Joysticks/Gamepads which are available on app start. 2019-05-28 18:23:30 +02:00
Rémi Verschelde
900d90bb61 Git: Explicitly list binary files as such to avoid EOL change
text=auto works well in Git 2.10+ but it's broken in previous versions,
which are still used in production on e.g. Ubuntu 16.04 LTS.

Also fix a couple missed text files with CRLF terminators.
.bat files likely require it to be processed properly on Windows,
but core.autocrlf should take care of converting them on the fly
when checking out on Windows.
2019-05-25 10:43:48 +02:00
Rémi Verschelde
e0574e1d98 Fix typos with codespell
Using codespell 1.15.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
doubleclick
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-05-19 13:10:35 +02:00
Aaron Franke
702b539405
Change "ID" to lowercase "id"
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.
2019-05-09 06:25:32 -04:00
Juan Linietsky
cf5881f574 Rename wrong field. 2019-04-24 17:01:20 -03:00
Juan Linietsky
a424d39f76 Remove forgotten strings in configuration files 2019-04-24 16:31:23 -03:00
Juan Linietsky
dd03dcbd5a Android now (optionally) builds the template when exporting
Added new way to create add-ons
Removed old way to create add-ons
2019-04-07 15:46:52 -03:00
Rémi Verschelde
f20c9c25eb
Merge pull request #28164 from BastiaanOlij/AndroidCameraPermission
Add camera permissions to android
2019-04-19 11:27:11 +02:00
Bastiaan Olij
fab84c7dff Add camera permissions to android 2019-04-18 23:16:41 +10:00
volzhs
5a4b2087a0 Fix get_unique_id() on Android 2019-04-18 08:07:03 +09:00
Rémi Verschelde
c8994b56f9 Style: Apply new changes from clang-format 8.0
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0,
so contributors can keep using those versions for now (they will not undo those
changes).
2019-04-09 17:09:48 +02:00
Bastiaan Olij
b2c0a687f1 Restructuring glue code to make it easier to extend 2019-04-05 21:44:06 +11:00
DESKTOP-3H3MR3A\eloisa
b22cf46fdb Request Android record permission when needed 2019-03-08 12:38:36 -03:00
Pedro J. Estébanez
2d0d64794e Restart game on GL context loss on Android
Bonus:
Remove useless old code about reload hooks

Fixes #22955.
2019-03-06 19:09:17 +01:00
Ivan Ponomarev
288ff2fd08 Android: Fixed a possible crash in keyboard hide method. It's called not from main thread so InputMethodManager can't be used directly. 2019-02-27 16:59:50 +03:00
volzhs
87db1a8971 Fix Android keep screen on working properly 2019-01-15 22:06:44 +09:00
Rémi Verschelde
b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
volzhs
b385a4b053 Fix lint error/warning while building android template 2018-12-18 17:26:33 +09:00
Rémi Verschelde
173b342ca7 Remove trailing whitespace
With `sed -i $(rg -l '[[:blank:]]*$' -g'!thirdparty') -e 's/[[:blank:]]*$//g'`
(+ manual revert of some thirdparty code under `platform/android`).
2018-11-20 11:15:02 +01:00
Rémi Verschelde
bfd1f09ac5 Style: Apply clang-format to wrongly formatted files 2018-10-29 23:47:40 +01:00
Xavier Sellier
7dcf779a8b
Prevent a device to be added/deleted more than once on Android
cherry-picked from fb5a601217
2018-10-29 13:04:36 -03:00
Wojciech Milkowski
3598165c4d Fix build with Android NDK r18
As a bonus there is no need to use undocumented Gradle API any more.
2018-10-08 22:35:18 +02:00
Juan Linietsky
bad991ea83 Many more fixes for GLES2 mobile export. Also added ability to turn on OpenGL debugging on Android export. 2018-10-02 10:00:15 -03:00
FeralBytes
39738d1866 Add support for onRequestPermissionsResult()
Credit goes to @vanyasem  https://github.com/vanyasem/Godot-AndroidPermissions
But this is a much needed feature to support Android beyond API 21.
Fixed style errors again.
2018-09-27 19:20:26 -08:00
Xavier Sellier
f68e127079 Add clipboard operation for android OS 2018-09-05 17:27:45 -04:00
Rémi Verschelde
7c9f7452f4 Style: Format code with clang-format 6.0.1 2018-07-18 16:27:03 +02:00
volzhs
d18235bc38 Fix keep screen on property path for Android/iOS/UWP 2018-07-17 18:45:57 +09:00
Max Hilbrunner
28ebddd49e
Merge pull request #19799 from kosz78/android-payment-fix
Fix possible NullPointerException crash on cancel payment
2018-07-03 18:52:10 +02:00
Hugo Locurcio
53e94a1ce1
Optimize images losslessly using oxipng -o6 --strip all --zopfli 2018-06-28 19:17:41 +02:00
Konstantin Zaitsev
d05db4de8e Fix possible NullPointerException crash on cancel payment 2018-06-27 14:12:53 +07:00
geequlim
e2aa777d4d Implement OpenGL ES rasterizer selection logic for Android. 2018-06-26 12:21:06 +08:00
volzhs
2f8f34ceaf Remove android compatibility under API 16 2018-05-09 06:01:33 +09:00
Ruslan Mustakov
265caa687b Provide error details when in-app purchase fails 2018-04-19 21:04:20 +07:00
Ruslan Mustakov
5dffa506dc Fix Android input source checks
Input source types are not pure bit flags, they are combinations of
flags, so != 0 check was incorrect and resulted in crashes later, when
trying to obtain the device.
2018-04-16 11:19:07 +07:00
Hugo Locurcio
d698814367
Remove some debugging prints on Android 2018-02-18 00:09:56 +01:00
Xavier Sellier
b8def58705 Add signals and a check function for Android service connectivity.
- Add a iap_connect and iap_disconnect events for android platform.
- Add isConnected() function returning true if its connected to android service, false otherwise

(cherry picked from commit 546b48813f)
2018-02-14 08:05:19 +01:00
Rémi Verschelde
e3658a6464 Fix broken APK expansion due to missed option renames
Command line options were refactored for 3.0 to follow the common usage
of double-dashed long options, but `--main-pack` went through the cracks.

Fixes #16533.
2018-02-13 22:41:19 +01:00
Ruslan Mustakov
8d41175cae Fix Android onTextChanged crash
As it turns out, onTextChanged supplies a mutable CharSequence, which
lead to crashes or unexpected behaviour when input was coming faster
than it was processed.
2018-01-17 19:28:27 +07:00
volzhs
8fbb82719e Fix Android multi touch
Fix #11798
2018-01-07 23:29:44 +09:00
Rémi Verschelde
e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
volzhs
4bea7d1b5f Update android build tool to latest 2018-01-03 17:25:07 +09:00
Rémi Verschelde
b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Rémi Verschelde
7cb6e6b723 Style: Apply clang-format to Java files
Only those from org/godotengine/godot though, not the thirdparty ones.
2017-12-10 01:16:07 +01:00
Unknown
fd1b94e307 Improve slang, especially in user-visible parts 2017-12-05 15:41:38 +01:00
Bastiaan Olij
6205eb40e7 Align sensors and implement gravity sensor for Android 2017-11-11 09:42:23 +11:00
Rémi Verschelde
5bc2cf257b Convert DOS line endings to Unix line endings
Should fix issues some of us have with `misc/dist/uwp_template/AppxManifest.xml`
always showing up as modified.
Might cause issues on Windows due to the removal of BOMs or change of line endings
in some of the Mono, UWP or gradlew.bat files, we will test and adapt if need be.
2017-11-05 11:37:59 +01:00
Ramesh Ravone
55784b0c38
export onBackPress for Android Module 2017-10-15 10:35:13 +05:30
Andreas Haas
547cc8b7ab Merge pull request #11775 from endragor/android-keyboard-input
Improve input handling on Android
2017-10-10 20:22:06 +02:00
Ruslan Mustakov
275e537058 Allow to obtain virtual keyboard height
On mobile platforms virtual keyboards take up significant amount of
screen space and UI containing a text box may need to be adjusted
after the keyboard appears to keep the text box visible to user. This
commit adds a way to obtain virtual keyabord height so that controls
are aware of how much they need to move.
2017-10-04 17:21:05 +07:00
Ruslan Mustakov
ca7447daf6 Improve input handling on Android
- Dispatch input immediately as it comes, instead of delaying it to the
   next step().

 - Fix text box input handling when caret is at the middle of the text.

 - Minimize queueEvent calls on Java side.
2017-10-04 16:14:29 +07:00
volzhs
1a704d7676 Fix TrustManager for Android 2017-09-21 20:56:38 +09:00
Ruslan Mustakov
5ccdeccb6e Make GDNative work on Android
The changes include work done to ensure that GDNative apps and Nim
integration specifically can run on Android. The changes have been
tested on our WIP game, which uses godot-nim and depends on several
third-party .so libs, and Platformer demo to ensure nothing got broken.

 - .so libraries are exported to lib/ folder in .apk, instead of assets/,
   because that's where Android expects them to be and it resolves the
   library name into "lib/<ABI>/<name>", where <ABI> is the ABI matching
   the current device. So we establish the convention that Android .so
   files in the project must be located in the folder corresponding to
   the ABI they were compiled for.

 - Godot callbacks (event handlers) are now called from the same thread
   from which Main::iteration is called. It is also what Godot now
   considers to be the main thread, because Main::setup is also called
   from there. This makes threading on Android more consistent with
   other platforms, making the code that depends on Thread::get_main_id
   more portable (GDNative has such code).

 - Sizes of GDNative API types have been fixed to work on 32-bit
   platforms.
2017-08-30 18:14:19 +07:00
Rémi Verschelde
bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Henrik Andersson
16de3835fa fix UnsatisfiedLinkError when quitting 2017-08-23 03:14:51 +02:00
Rémi Verschelde
93f1fb1c2f Fixes for new two-dash long command line arguments
- Fixes some single-dash leftovers that were missed in the previous commit
- Reorder the help output for clarity, and document missing options
- Drop obsolete options: --noop, --pack, --editor-scene, --level, --import, --import-script, --no-quit
- Improve error message on malformed arguments and do not display help on error
- Always use long form of arguments when starting a new Godot process from C++, for clarity and easy grepping
- Cleanup obsolete code here and there
2017-08-21 08:09:22 +02:00
Juan Linietsky
b9dcebb37c Revert "Second take at making command-line arguments more UNIX-like + main.cpp and help cleanup" 2017-08-19 17:47:27 -03:00
Rémi Verschelde
70b0857f6c Fixes for new two-dash long command line arguments
- Fixes some single-dash leftovers that were missed in the previous commit
- Reorder the help output for clarity, and document missing options
- Drop obsolete options: --noop, --pack, --editor-scene, --level, --import, --import-script, --no-quit
- Improve error message on malformed arguments and do not display help on error
- Cleanup obsolete code here and there
2017-08-19 16:48:11 +02:00
ISylvox
0d8556a7f0 update gradle-android buildtool for master 2017-07-30 11:30:20 +07:00
Juan Linietsky
bbada82f80 -Reorganized all properties of project settings (Sorry, Again).
(Lot's of bloat accumulated, so it was time for clean up.)
-Made EditorSettings and ProjectSettings search more useful (search in sections too)
2017-07-17 22:18:58 -03:00
Rémi Verschelde
e80d2b8dfb Merge pull request #8824 from volzhs/android-payment-master
Fix android payment logical error
2017-05-20 09:49:18 +02:00
volzhs
209f61b6d4 Fix android payment logical error
getting sku detail runs only if mod != 0 which means querying 20*n will not get sku details.
referenced from https://github.com/googlesamples/android-play-billing/blob/master/TrivialDrive/app/src/main/java/com/example/android/trivialdrivesample/util/IabHelper.java#L1029-L1062
2017-05-19 12:20:51 +09:00
Rémi Verschelde
519df0d34d Use new Godot icon consistently everywhere 2017-05-17 19:53:59 +02:00
Rémi Verschelde
413e68fced Merge pull request #8723 from volzhs/fix-android-master
Fix possible memory leak for Android and update gradle
2017-05-12 08:24:22 +02:00
volzhs
8be9b98b8e Update to latest gradle 2017-05-12 14:44:47 +09:00
volzhs
9d33f51066 Fix possible memory leak for Android
/godot_dev/platform/android/java/src/com/google/android/vending/expansion/downloader/impl/DownloaderService.java:575: Error: The WIFI_SERVICE must be looked up on the Application context or memory will leak on devices < Android N. Try changing  to .getApplicationContext()  [WifiManagerLeak]
            mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "WifiManagerLeak":
   On versions prior to Android N (24), initializing the WifiManager via
   Context#getSystemService can cause a memory leak if the context is not the
   application context. Change context.getSystemService(...) to
   context.getApplicationContext().getSystemService(...).

1 errors, 0 warnings
2017-05-12 14:44:37 +09:00
Rémi Verschelde
c8aea60324 Improve documentation of thirdparty code snippets 2017-05-07 11:42:37 +02:00
volzhs
889ce29fc2 Fix error or download again if use obb for Android 2017-04-26 04:06:45 +09:00
Rémi Verschelde
df61dc4b2b Add "Godot Engine contributors" copyright line 2017-04-08 00:11:42 +02:00
Rémi Verschelde
debeee56f7 Fix typos in source code using codespell
From https://github.com/lucasdemarchi/codespell
2017-03-24 21:45:31 +01:00
Juan Linietsky
efaeebab4d Several fixes to Android exporter and port.
Android seems to be working again!
2017-03-23 20:14:12 -03:00
volzhs
4866ea828a Fix handling input for Android 2017-03-04 00:15:26 +09:00
Rémi Verschelde
93ab45b6b5 Style: Fix whole-line commented code
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
2017-01-14 14:52:23 +01:00
Juan Linietsky
b7d69c2444 Added a BACK notification besides QUIT, so they go in separate channels. 2017-01-11 16:42:31 -03:00
Rémi Verschelde
c7bc44d5ad Welcome in 2017, dear changelog reader!
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer
with state-of-the-art rendering techniques tuned to work as low as middle
end handheld devices - without compromising with the possibilities given
for higher end desktop games of course. Great times ahead for the Godot
community and the gamers that will play our games!
2017-01-01 22:03:33 +01:00
volzhs
9a20068ab7 Add alert window on Android 2016-11-28 10:20:57 +09:00
volzhs
8d454ed9a7 Fix Directory.dir_exist/get_current_dir for 'res://' on Android
Fix #7014
2016-11-09 01:50:00 +09:00
Skyfrit
4f6a21b0df Android: Rename values-zh to values-zh-rCN (#6063) 2016-08-08 11:51:30 +02:00
Skyfrit
664b5b5137 Android: Add support for Traditional Chinese (HK) (#6061) 2016-08-08 11:49:51 +02:00
Skyfrit
8ab4acd17f Android: Add support for Traditional Chinese (TW) (#6061) 2016-08-08 11:49:35 +02:00
Juan Linietsky
9213400cd5 Merge pull request #5415 from volzhs/improve-android-payment
Improve android payment
2016-07-24 12:18:13 -03:00
Mario Schlack
0717893772 Implement get_screen_dpi() on Android 2016-07-20 14:54:48 +02:00
volzhs
79cb91dc84 Add querying details of IAP items for android 2016-07-18 23:45:58 +09:00
volzhs
f26f181ba9 Fix can't get all info if user purchases many items and not consumed 2016-07-18 23:45:58 +09:00
Jamil Halabi
370ae3512d Added gyroscope support to Godot and Android 2016-07-16 01:43:32 +08:00
Pedro J. Estébanez
e7b2626707 Make Android build smarter (SCons + Gradle)
Upgrade Gradle and Android plugin for Gradle
Disable all signing and zip-aligning for the export templates
Give correct names to generated APKs
Put .so files built by SCons right where Gradle has to pick them according to arch & build type
Downgrade NDK platform to 14 to match minSdkVersion
2016-06-27 10:49:15 +02:00
George Marques
6d37253be5
Fix Android sensors polling rate on resume
Fix #5306
2016-06-24 21:00:04 -03:00
volzhs
a5a5bdef25 Remove duplicated aidl for android
Tested IAP function on device.
2016-06-25 01:11:21 +09:00
J08nY
0ab05b09e4
Fixed iCCp chunk in pngs
neccesary for libpng 1.6.27 to work silently
2016-06-22 21:13:29 +02:00
Rémi Verschelde
842e7bfc2f Merge pull request #5357 from volzhs/fix-locale-android
fix android resource locale
2016-06-22 16:05:59 +02:00
volzhs
591be5df25 fix android resource locale 2016-06-22 22:32:03 +09:00
volzhs
780fa60072 correct current Intent for android 2016-06-21 03:32:44 +09:00
Rémi Verschelde
a7fc04626a Add missing license headers in our source files (#5255)
Also removes a couple wrong Godot headers from third-party source files.
2016-06-18 14:46:12 +02:00
Rémi Verschelde
aed5474238 Merge pull request #4729 from volzhs/android-23
Supporting Android API 23 (Android 6.0)
2016-06-07 09:45:24 +02:00
Rémi Verschelde
e6e878e139 Icon: Remove more grey capsules behind official logo 2016-05-30 00:41:42 +02:00
fluffrabbit
4877b714b3
Add magnetometer sensor support for Android 2016-05-27 14:36:55 -03:00
volzhs
e5d16eca46 Add comments for NotificationCompat to support API < 16 2016-05-25 22:19:37 +09:00
volzhs
ff67c256f5 fix compatibility for Android API 14 with supporting API 23
using ``NotificationCompat`` in ``support-v4`` library will increase APK filesize a little bit, but it guarantees to run OK with API 4+
tested with API 19 and 23 devices
2016-05-24 11:22:35 +09:00
volzhs
160713d4d3 Supporting Android API 23 (Android 6.0)
If we update build gradle to use ``compileSdkVersion 23``,
``org.apache.http`` package causes error. (issue #4711)

We need to use ``useLibrary 'org.apache.http.legacy'`` to solve this problem.
To use ``useLibrary``, we need to use latest gradle also.

And now, we faced another problem with ``APK Expansion`` java sources.

```
/platform/android/java/src/com/google/android/vending/expansion/downloader/impl/DownloadNotification.java
137 :             mCurrentNotification.setLatestEventInfo(mContext, mCurrentTitle, mCurrentText, mContentIntent); // causes error
```

So, some of APK Expansion java sources are updated by referencing commits from https://github.com/danikula/Google-Play-Expansion-File
And dropped V3CustomNotification.java which was for android 3.0, since godot supports android 14 (4.0) above officially.

Unfortunately, another problem, The 'MissingTranslation' error was occurred.
So, build.gradle is updated to use ``disable 'MissingTranslation'``

Additionally, I updated ``buildToolsVersion``, ``targetSdkVersion`` to latest version.

I tested APK Expansion funtionality on Android 6.0 (Nexus 9, Nexus 6p) and Android 4.4 (Galaxy Note 2)  with Google Developer console.
2016-05-20 22:57:49 +09:00
volzhs
e94e710893 remove unused resources and add korean locale for android
- remove unused resources in platform/android/java/res/values/strings.xml
- add korean language resource for apk expansion download screen
2016-04-19 11:10:55 +09:00
hondres
e7c920fdba support gamepad remapping on android 2016-01-24 05:29:09 +01:00
volzhs
fb2bf78591 Add ability to set "keep screen on" for android 2016-01-16 20:57:34 +09:00
Rémi Verschelde
1f1c3038c2 Update copyright in remaining files + prints in the UI 2016-01-11 21:34:22 +01:00
Juan Linietsky
40ba22631b Renamed godot domain from com.android.godot (which was incorrect) to org.godotengine.godot 2016-01-08 17:53:00 -03:00
Juan Linietsky
401622cc22 -Removed ANT build system for Android, as it was deprecated by Google
-Added new Gradle build system, as it is the required build system
2016-01-08 13:36:44 -03:00
George Marques
5be9ff7b67 Update copyright to 2016 in headers 2016-01-01 11:50:53 -02:00
Juan Linietsky
4b1f0afb01 -several fixes to Android to work better on Tegra 3/4 devices, uses 16 bits FBOs so all 2D shader effects should now work in every single Android device. 2015-12-02 11:15:48 -03:00
mikica1986vee
d6b317a2c1 tegra 3 fix 2015-11-21 23:21:36 +01:00
Juan Linietsky
0168947084 Merge pull request #2518 from masoudbh3/godot-icons
Add icon to exe file in windows export
2015-11-19 00:08:47 -03:00
Juan Linietsky
5fb95859e1 Merge pull request #2814 from masoudbh3/android-fa-locale
Android add FA(persian) locale strings
2015-11-18 19:21:54 -03:00
masoud bh
f2704eb162 Android add FA(persian) locale strings 2015-11-19 01:40:29 +03:30
masoud bh
24f3f43457 Add icon to exe file in windows export
add version_info and icon sections in "export to windows platform".
add version_info and icon to godot exe file (editor & template exe).
fix an problem in image class.
change all default icons to android export icon (a little more rounded).
create an python script for convert file to cpp byte array for use in
'splash.h'.
2015-11-09 02:23:58 +03:30
volzhs
3fbaa479e3 improve android payments
GodotPaymentV3 currently consumes purchased item right after purchasing.
But, some in-app item should not consume like "remove ads permanently"
So, I added "setAutoConsume(boolean)", "requestPurchased()",
"consume(sku_string)".
AutoConsume is true by default as before.

usage:

func _ready():
	var payment = Globals.get_singleton("GodotPayments")
	payment.setPurchaseCallbackId(get_instance_ID())
	payment.setAutoConsume(false) # default : true
	payment.requestPurchased() # callback : has_purchased
	payment.purchase("item_name") # callback : purchase_success,
purchase_fail, purchase_cancel, purchase_owned
	payment.consume("item_name") # callback : consume_success

func purchase_success(receipt, signature, sku):
	print("purchase_success : ", sku)

func purchase_fail():
	print("purchase_fail")

func purchase_cancel():
	print("purchase_cancel")

func purchase_owned(sku):
	print("purchase_owned : ", sku)

func consume_success(receipt, signature, sku):
	print("consume_success : ", sku)

func has_purchased(receipt, signature, sku):
	if sku == "":
		print("has_purchased : nothing")
	else:
		print("has_purchased : ", sku)
2015-10-28 15:48:37 +09:00
Juan Linietsky
3d121b474b Merge pull request #2203 from volzhs/fix_android_payments
Fix android payments
2015-10-17 12:12:34 -03:00
Juan Linietsky
b0aa49accb merged some stuff for okam 2015-09-03 23:24:55 -03:00
volzhs
903e6b37c0 fix crash by payments when run on android 5.1.1 device.
(http://stackoverflow.com/questions/24480069/google-in-app-billing-illegalargumentexception-service-intent-must-be-explicit)
2015-06-29 02:56:38 +09:00
Kyle Luce
77461a126e Additional Fix for Multi-touch release problem
- Was duplicating the functionality of event.getActionIndex() but was missing the bitmask.
- Switched back to getActionIndex() but kept the corrected getPointerId() from
  change #1980

https://github.com/okamstudio/godot/pull/1908
2015-05-31 19:37:19 -07:00
vipsbpig
bc3afc8ed8 fix multitouch release problem 2015-05-15 12:40:34 +08:00
Juan Linietsky
524d9fad59 -fixed godot icon for android
-added a genname option to generate the name of android app
2015-05-01 23:21:27 -03:00
Juan Linietsky
c6dce44dd8 fixes in handling of DirAccess for resource path on Android, fixes #1447 2015-04-28 09:38:07 -03:00
Juan Linietsky
fdaa2920eb Updated copyright year in all headers 2015-04-18 14:38:54 -03:00
Juan Linietsky
b56badf77b -Added android immersive mode, fixes #303 2015-04-17 16:18:46 -03:00
Martho42
7a2698bb44 Fixes the accelerometer
Resolves the issue of the accelerometer behaving differently across devices with landscape as default and devices with portrait as default.
2015-04-04 17:03:56 -07:00
Juan Linietsky
3920c497b3 Option in Android export to use 32 bits buffer. 2015-03-31 19:02:40 -03:00
Juan Linietsky
fbfb87ec4f -accelerometer precission changed to "GAME" (#1015) 2015-01-02 14:34:57 -03:00
Juan Linietsky
089d7fa171 Small batch of fixes
-=-=-=-=-=-=-=-=-=-=
-Fixed looping error in AudioStreamResampled
-winrt port progress
-fixes in material in ambient light
2014-12-15 15:42:58 -03:00
Juan Linietsky
e361e8539c -Ability to ask for documents/pictures/etc system dirs.
-Fixes to animationplayer
-fixes to collada importer
2014-12-02 14:02:41 -03:00
Juan Linietsky
1a2cb755e2 3D Physics and Other Stuff
-=-=-=-=-=-=-=-=-=-=-=-=-=

-New Vehicle (Based on Bullet's RaycastVehicle) - Vehiclebody/VehicleWheel. Demo will come soon, old vehicle (CarBody) will go away soon too.
-A lot of fixes to the 3D physics engine
-Added KinematicBody with demo
-Fixed the space query API for 2D (demo will come soon). 3D is WIP.
-Fixed long-standing bug with body_enter/body_exit for Area and Area2D
-Performance variables now includes physics (active bodies, collision pairs and islands)
-Ability to see what's inside of instanced scenes!
-Fixed Blend Shapes (no bs+skeleton yet)
-Added an Android JavaClassWrapper singleton for using Android native classes directly from GDScript. This is very Alpha!
2014-09-02 23:13:40 -03:00
Juan Linietsky
2ee4ac183b Little Bits
-=-=-=-=-=-

-Fixed small bugs all around
-Added ability to show/hide entire sections of the spatial (3D) tree
-WIP new vehicle (not ready yet) based on Bullet
2014-08-14 10:31:38 -03:00
Juan Linietsky
678948068b Small Issues & Maintenance
-=-=-=-=-=-=-=-=-=-=-=-=-=

-Begin work on Navigation Meshes (simple pathfinding for now, will improve soon)
-More doc on theme overriding
-Upgraded OpenSSL to version without bugs
-Misc bugfixes
2014-08-01 22:10:38 -03:00
Juan Linietsky
3d68949a1c 2D Animation Improvements
-=-=-=-=-=-=-=-=-=--=-=-=

-Ability to set 2D nodes as bones
-Abity to set 2D nodes as IK chains
-2D IK Solver
-Improvements in the UI for adding keyframes (separate loc,rot,scale buttons)
2014-07-06 11:49:27 -03:00
Juan Linietsky
e9da61411a Fixed Bugs & Joypad in Android
================================

-resolved many graphical glitches with multiple lights in GLES2 render
-fixes and WIP apk expansion
-joystick support for Android by Ariel
2014-07-02 00:09:36 -03:00
Juan Linietsky
2af2a84a03 Misc Fixes
==========

-NOTIFICATION_WM_QUIT fixed on android (seems tha way this is reported changed in newer sdk)
-WIP implementation of APK Expansion APIs for publishing games larger than 50mb in Play Store
-Feaures in the new tutorials are all present in the sourcecode
-This (hopefully) should get rid of the animation list order getting corrupted
-Improved 3D Scene Importer (Skeletons, Animations and other stuff were not being merged). Anything missing?
-In code editor, the automatic syntax checker will only use file_exists() to check preload() else it might freeze the editor too much while typing if the preload is a big resource
-Fixed bugs in PolygonPathFinder, stil pending to do a node and a demo
2014-06-27 23:21:45 -03:00
marynate
ffe01a51cb Add more callback for Godot.java 2014-06-04 11:38:30 +08:00
marynate
a1635e809f GodotPaymentV3.java was accidently deleted in latest commit 2014-05-28 14:58:54 +08:00
Juan Linietsky
71355aaab7 -Fixed bug in "extends" 2014-05-24 13:25:56 -03:00
Juan Linietsky
1cad087969 Making Godot Easier to Use..
-=-=-=-=-=-=-=-=-=-=-=-=-=-=

-Auto indenter in code editor, this makes it much easier to paste external code.
-Zoom in 2D viewport now uses the mouse pointer as reference.
-Obscure hack to see where code/line of GDScript in C++ backtrace.
-Fixed a bug where keys would get stuck on X11 if pressed simultaneously
-Added Api on IP singleton to request local IPs.
-Premultiplied alpha support when importing texture, editing PNGs and as a blend mode.
2014-05-24 01:35:47 -03:00
Juan Linietsky
87f37bc5a3 -Added OpenSSL and HTTPS support
-Built-in version of the library for Windows, Android and iOS (other OSs use system one)
-Small fixes all around
2014-04-28 21:56:43 -03:00
Juan Linietsky
0360b454a4 -Fixed viewport stretch bugs
-Fixed input in viewport stretch bugs
-Fixed tilemap pixel overlap (really?)
2014-04-18 11:43:54 -03:00
Juan Linietsky
ec4ef2d2e7 -Added google play services (needed for some stuff)
-Added new screen resizing options, stretch_2d is removed, new much more flexible ones.
-Fixed bug in viewport (can create more instances in 3d-in-2d demo now)
-Can set android permissions and screen sizes manually in the export settings
-Changed export templates extension to .tpz (too many people unzipped the manually..)
-File dialog now ensures that the proper extension is used (will not allow to save without it)
-Fixed bug that made collision exceptions not work in 2D
2014-04-14 22:43:44 -03:00
sanikoyes
bae5ad7c8b Move onKeyDown/onKeyUp from Godot to GodotView
Press 'back' button should not terminate program, normal handle 'back' event in game logic
2014-04-06 21:53:38 +08:00
sanikoyes
77a840e350 Merge branch 'master' into hotfix-android-unicode-ime-input 2014-04-06 21:52:47 +08:00
sikakraa
f103b67326 Fixed Android crash by adding safety to the hideKeyboard() -function. 2014-04-06 02:13:36 +03:00
Juan Linietsky
9f33134c93 -Support for changing fonts
-Detect when free() might crash the project and throw error
-fixed 2D Bounce in physics (3d still broken)
-renamed “on_top” property to “behind_parent”, which makes more sense, old on_top remains there for compatibility but is invisible.
-large amount of fixes
2014-04-05 12:39:30 -03:00
reduz
bdb5d68e77 Update GodotLib.java 2014-03-13 20:26:38 -07:00
Juan Linietsky
0a717ffee2 Merge branch 'master' of https://github.com/okamstudio/godot
Conflicts:
	modules/multiscript/register_types.cpp
	platform/android/java/src/com/android/godot/GodotLib.java
2014-03-13 23:14:35 -03:00
Juan Linietsky
31ce3c5fd0 -fix bug in cache for atlas import/export
-fix some menus
-fixed bug in out transition curves
-detect and remove file:/// in collada
-remove multiscript for now
-remove dependencies on mouse in OS, moved to Input
-avoid fscache from screwing up (fix might make it slower, but it works)
-funcref was missing, it's there now
2014-03-13 22:57:24 -03:00
sanikoyes
14bbdcb139 fix enter key 2014-03-13 18:31:30 +08:00
sanikoyes
51429bd8d6 fix android can't input unicode characters
fix hide soft keyboard by press 'back' button,
 then click current focus text edit/line edit control,
 soft keyboard won't show again

add features:
  press enter key with line edit control will hide soft keyboard
2014-03-13 16:58:03 +08:00
sanikoyes
cf9d97018f fix android input doe's not work(line edit/text edit) 2014-03-12 20:41:09 +08:00
Juan Linietsky
58cda02a38 -fixed export templates not loading/exporting on Windows
-fixed TouchScreenButton with stretch2d
-fixed(?) OSX crash on startup (test!!)
-compilation fixes on windows
-CollisionPolygon editor works again
-find buttons en find dialog
-TileMap editor cleanup (removed "error", made nicer)
-viewport flicker fixed
-make .scn default extension for saving scenes
-export the rest of the network classes to gdscript
2014-02-13 18:03:28 -03:00
Juan Linietsky
0b806ee0fc GODOT IS OPEN SOURCE 2014-02-09 22:10:30 -03:00