Commit Graph

56 Commits

Author SHA1 Message Date
Chris Babcock
b03e11fec3 Improve Android startup load times
#android
#ue4
#codereview Josh.Adams,Rene.Rivera

[CL 2383581 by Chris Babcock in Main branch]
2014-12-10 10:57:50 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Rene Rivera
8a8d83c447 [UE-6046] JNI errors when using ART runtime. Fixed various errors with JNI calls and references.. Moved build OS version to GameActivity to work around ART limitation. Fix FAndroidApplication::ClassLoader being a local ref instead of a global ref. Added exception check to FindJavaClass to find class lookup errors early. Fixed various local vs. global refs in FJavaClassObject.
#codereview Josh.Adams, Chris.Babcock

[CL 2374995 by Rene Rivera in Main branch]
2014-12-03 14:34:22 -05:00
Chris Babcock
7693375ed4 Close movie between queued movies and stop before reset to prevent possible runtime exception. Disable audio for media player plugin.
#android
#ue4
#codereview Josh.Adams,Rene.Rivera

[CL 2370349 by Chris Babcock in Main branch]
2014-11-25 18:01:58 -05:00
Rene Rivera
5223fbdb13 [UE-2977] Implement loading movie playback for Android for API 14 and above.
#codereview Josh.Adams, Chris.Babcock

[CL 2366457 by Rene Rivera in Main branch]
2014-11-20 13:01:20 -05:00
Terence Burns
3766264ae8 In-App Purchase changes.
Android fixes for workflow and threading issues.
Receipt is now returned as part of the IAP product information in blueprints
IAP workflow in blueprints now use an IAP request object as opposed to just a string.
Changes to the IOS workflow to accommodate receipts in product responses.
Android game activity has been updated to receive onActivityChanged messages. Needed for routing activity changes to android IAP.
A lot of threading fixes
Fixes for certain google events not calling the appropriate delegates.
Play store license key property added to runtime settings.

[CL 2364717 by Terence Burns in Main branch]
2014-11-19 05:18:19 -05:00
Rene Rivera
ffde9aa6b7 [UE-4398] Implement Android Media plugin, for API 14 an onwards, and packaging changes to support it. Changes include:
Fixed JavaVM so it is automatically detached from a thread when thread exits (stops VM crash on thread exit ever happening)
Move JavaVM access into the application code.
Add utility Java call-in class to make it easier to use Java objects from C++ side.
Implement GetSystemErrorMessage to aid in debugging.
Expose some internal Android EGL data for use in plugins (i.e. the movie plugin).
Add access to Java AssetManager object.
Change Android OBBs from plain PAKs to uncompressed ZIPs of the staged content to allow both multiple PAKs and to allow non-PAK content. In particular this allow movies to be in the OBB as they need to be directly accessed.

#codereview Josh.Adams, Chris.Babcock

[CL 2362008 by Rene Rivera in Main branch]
2014-11-17 11:31:49 -05:00
Terence Burns
16471ab514 Google licensing code. Was approved in a tps review. Needed for IAP.
[CL 2345497 by Terence Burns in Main branch]
2014-10-30 17:13:18 -04:00
Terence Burns
cd8819e072 Missing file from CL 2345308
[CL 2345458 by Terence Burns in Main branch]
2014-10-30 17:11:22 -04:00
Terence Burns
bccbbc9e5a In App Purchases Google Play.
- IAP added using the google play billing helper functionality
- App Licensing Key and checking added, but not yet used.

- Changes to Store purchases to allow consumable flags.
- New maps added for android testing, this uses static responses for IAP purchase testing.

A few improvements left
- need licensing working for the query process.
- need testing without static responses. Work with google test responses.

[CL 2345308 by Terence Burns in Main branch]
2014-10-30 17:06:50 -04:00
Josh Adams
b3d5cf5e5c - Big cleanup of Android packaging optimization, made it more safe (adds a few seconds)
- Made java library handling programmatic, no more hardcoding googleplayservices (just put your lib in <Project>\\Build\\Android\\JavaLibs like we have google now in Engine\\Build\\Android\\Java\\JavaLibs)
#codereview chris.babcock,ryan.gerleve

[CL 2345079 by Josh Adams in Main branch]
2014-10-30 12:30:32 -04:00
Josh Adams
b87a67f286 Rollback //depot/UE4/Engine/Build/Android/Java/proguard-project.txt to revision 6
[CL 2341581 by Josh Adams in Main branch]
2014-10-27 17:08:16 -04:00
Josh Adams
6ca46f77c0 - Upgraded to support API 21 (Android 5.0, Lollipop)
- Lots of Android iteration speedups:
   - When compiling from UBT (Visual Studio) perform incremental APK generation - it doesn't wipe the Intermadiate/APK directory between runs
   - Don't update project settings every run:
      - Looks at the project.properties for both game and google play services to make sure they are built with current SDK API version, if not, fixup project.properties, etc
   - Even with a non-incremental build (from Editor/UAT), keep the pre-dexed libraries (currently GooglePlayServices [GPS] only) for HUGE speedup
   - We can't just pre-dex GPS and check-in, that's not going to be safe with different java/SDK versions.
   - Removed the project.properties and proguard-project.txt from p4, as they will be generated if needed. A game can pre-supply those if needed, but we will still check API version and update if required
#codereview chris.babcock,ryan.gerleve,michael.noland

[CL 2341079 by Josh Adams in Main branch]
2014-10-27 13:07:43 -04:00
JJ Hoesing
22f3cbb2fe - Initialize Android VR HMDs from the Java UI thread.
- The Native->Java->JavaUI->Native callback could probably be made more generic than this.

[CL 2335076 by JJ Hoesing in Main branch]
2014-10-20 19:15:50 -04:00
Ryan Gerleve
65ea708ade Add more ProGuard exceptions, for the Google Play Games C++ SDK
Fixes TTP 347366 and "for distribution" Android builds

[CL 2318076 by Ryan Gerleve in Main branch]
2014-10-02 19:09:23 -04:00
Ryan Gerleve
4bbfa19d27 Add Android support library, used by Google Play services SDK
Fixes building "For distribution" packages for Android

[CL 2314378 by Ryan Gerleve in Main branch]
2014-09-30 11:39:03 -04:00
Chris Babcock
fe7da34aec Removed Vibrator.hasVibrator() check since it was added in API11
#ue4
#Android

[CL 2307395 by Chris Babcock in Main branch]
2014-09-23 16:40:36 -04:00
Chris Babcock
6efa254792 Implemented FPlatformMisc::Controlscreensaver for Android and added ControlScreensaver Blueprint node
integrate from UE4-Fortnite
#ue4
#android

[CL 2303138 by Chris Babcock in Main branch]
2014-09-18 17:09:29 -04:00
Ryan Gerleve
be1e151d19 Convert to Google Play Games C++ SDK
Fix TTP 344211 - Leaderboard read now works for Google Play

#codereview josh.adams

[CL 2302926 by Ryan Gerleve in Main branch]
2014-09-18 16:41:28 -04:00
Chris Babcock
62788d6c1e Added force feedback support to Android to drive phone vibration
Merge //depot/UE4-Fortnite/... to to //depot/UE4/...
#ue4
#android

[CL 2300157 by Chris Babcock in Main branch]
2014-09-16 17:32:10 -04:00
Robert Jones
747014db6b Added support to Audio device for Android to check if background music/audio is playing.
[CL 2295167 by Robert Jones in Main branch]
2014-09-12 11:37:24 -04:00
Robert Jones
46586c6151 #ttp 344974 WEX: Support Android System font
Changed so that on start up we find the font dir and assign it to a global.
Double checked that 'droidsans' is a safe ttf to default to - it is.

#codereview chris.babcock, nick.atamas

[CL 2290870 by Robert Jones in Main branch]
2014-09-09 12:20:07 -04:00
Josh Adams
d67a3a64a5 - Initial "Fat" binary support for Android - multiple architectures at once, by compiling multiple .so's in one go of UBT (will be controlled by Project Settings, intentionally hidden for now)
- Added option to allow for splitting up into multiple .apks, or a single "fat" .apk (also not exposed yet in the project settings)
- A fat binary is just named <Project>.apk, no longer <Project>-armv7.apk
- x86 almost works, except missing libCurl and ICU
- x64 and arm64 will come next now that this framework is in place
#codereview chris.babcock

[CL 2272105 by Josh Adams in Main branch]
2014-08-26 09:56:29 -04:00
Josh Adams
ea7b46777c - Added Android HardwareSurvey
- Unified some of the hardware survey code to use Set/GetStoredValue() for last survey time
- Added Get/SetStoredValue for IOS (to use NSUserDefaults)
- NOTE: Mobile devices will report very often - settings are per app, and when they are deleted and re-installed, they will report again.
#codereview chris.babcock,ian.thomas

[CL 2267419 by Josh Adams in Main branch]
2014-08-22 10:24:13 -04:00
Saul Abreu
723301557d Fix for gnustl_shared not being loaded on Android devices before UE4 is loaded.
[CL 2261281 by Saul Abreu in Main branch]
2014-08-18 15:45:13 -04:00