- Started on the work for a separate GooglePlay java class, but that's not in yet (notice: GoogleServicesThis = FJavaWrapper::GameActivityThis)
#codereview chris.babcock,jj.hoesing,robert.jones,rene.rivera
[CL 2383946 by Josh Adams in Main branch]
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]
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]
- 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]
- 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]
- 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]