Commit graph

156 commits

Author SHA1 Message Date
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