Included update and fixes together because the update was affecting how the fixes would be implemented
UE-160024:
- Updated Google Billing Library to v5.
- Many types and methods changed.
- Cleaned up unused/non accessible/non needed methods and interfaces from GooglePlayStoreHelper.java, GameActivity.java.template and additions from OnlineSubsystemGooglePlay_UPL.xml
- Used a uniform code style on GooglePlayStoreHelper.java (tried to be near the C++ guidelines)
- Also follow C++ code guidelines and naming on the Java native functions implementation
- Fixed support for GooglePlay pending transactions
- General cleanup on OnlinePurchaseGooglePlay.h/cpp
- Do not add validation information for pending purchases so they are not redeemable (thus not consumed accidentally)
UE-160021 and UE-160022
- Use just one list of transactions to simplify handling them
- Clear the list of transactions and fill it with the result of the query. GooglePlay always returns the full list of non consumed transactions (and the list of non consumable ones, but those are not currently supported by UE)
- Added consume delegate to be able to remove consumed receipts
UE-160023:
- Checked result of BillingClient.launchBillingFlow and notify the native side in case of failure
OI-3209:
- When launch mode is set to single task in the manifest and the user moves to background and then to foreground using the Android launcher the onPurchasesUpdated listener reports BillingClient.BillingResponseCode.USER_CANCELLED with an empty list of purchases. Detect that as in progress purchase was cancelled
#jira UE-160021, UE-160022, UE-160023, UE-160024, OI-3209, UE-162461
#review @Bertrand.Carre, @Chris.Varnsverry, @Chris.Babcock
#preflight 630ddb31e54ec9d581788286
#9528
[CL 21737049 by Rafa Lecina in ue5-main branch]
UAT RunClient: Continuously redirect output to uat stdout while client is running.
UAT RunClient: Add a process wrapper to kill client process when uat exits and to write the adb device log file to the host pc directories.
UAT RunClient: Push the ClientCmdLine args as a UECommandLine.txt file to the device to the correct location (different for adb deploy and android file server) to override the stage/apk command line.
UAT MakeApk: Add a UECommandLine.txt cache file to the intermediate directory to invalidate the apk when the stage/apk command line changes (e.g. when switching between CBTB or COTF or cooking with/without Zen).
LaunchAndroid.cpp: Add debug output for which override command line file that is being used.
LaunchAndroid.cpp: Implement missing -waitforattach/-waitfordebugger feature.
DataDrivenPlatformInfo.ini: set bUATClosesAfterLaunch=false to stop the editor from passing -nokill to uat to let it stop all processes when the client exits..
#jira none
#rb chris.babcock
#rnx
#preflight 6245849873665f7d5e4f0a18
#preflight 624be1f3dc6183e3f5518801
[CL 19621549 by PJ Kack in ue5-main branch]
#jira none
#rb Chris.Babcock
#ushell-cherrypick of 19456583 by dmytro.vovk
#preflight 6238d24789625f0612a47330
[CL 19457054 by dmytro vovk in ue5-main branch]
only used during PSO precompiling.
This can reduce PSO precompile times by as much as 2/3rds.
It is enabled by default, it can be disabled via Android.OpenGL.NumRemoteProgramCompileServices=0 or setting android configrule variable 'DisableProgramCompileServices' to true.
#rb chris.babcock, Dmitriy.Dyomin
[FYI] peter.sauerbrei, jack.porter
#preflight 6218decf847077002e87365b
#ROBOMERGE-OWNER: allan.bentham
#ROBOMERGE-AUTHOR: allan.bentham
#ROBOMERGE-SOURCE: CL 19147130 via CL 19147174 via CL 19148641 via CL 19148655 via CL 19160382
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19161662 by allan bentham in ue5-main branch]
#rb jack.porter
#preflight 619b8e5b0141b3c6da20edeb
#ROBOMERGE-AUTHOR: allan.bentham
#ROBOMERGE-SOURCE: CL 18256890 via CL 18256928 via CL 18256942 via CL 18263305 via CL 18263406
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18263527 by allan bentham in ue5-release-engine-test branch]