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]
#rb jack.porter
#ROBOMERGE-AUTHOR: allan.bentham
#ROBOMERGE-SOURCE: CL 21271368 via CL 21271551 via CL 21271676 via CL 21271685 via CL 21271694
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
[CL 21274023 by allan bentham in ue5-main branch]
#rb Dmitriy.Dyomin
#ROBOMERGE-AUTHOR: joe.barnes
#ROBOMERGE-SOURCE: CL 20182600 via CL 20184433 via CL 20185023 via CL 20186359 via CL 20186677
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
[CL 20188843 by joe barnes 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]
Panic allows only one thread to become the panic thread. In panic mode, logs are only sent to panic-safe output devices. Each call to Panic flushes buffered logs to panic-safe output devices, and flushes panic-safe output devices.
#jira UE-147152
#preflight 62424814292f228e09d8a612
#rb Zousar.Shaker
#fyi Brandon.Schaefer
[CL 19545093 by Devin Doucette in ue5-main branch]
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485
[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]