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]
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]
#ROBOMERGE-SOURCE: CL 13034464 via CL 13034473
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v683-13008971)
[CL 13034478 by michael kirzinger in Main branch]
[at]sam.zamani, [at]eric.newman, [at]rob.cannaday
#ROBOMERGE-OWNER: michael.kirzinger
#ROBOMERGE-AUTHOR: michael.kirzinger
#ROBOMERGE-SOURCE: CL 13032447 via CL 13033126 via CL 13033127 via CL 13033128 via CL 13033131
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v683-13008971)
[CL 13033133 by michael kirzinger in Main branch]
#ue4
#android
[CODEREVIEW] Jack.Porter
#rb none
#ROBOMERGE-SOURCE: CL 12910957 via CL 12910958 via CL 12910959
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 12910960 by chris babcock in Main branch]
#rb jens.petersam
#ROBOMERGE-SOURCE: CL 12639572 via CL 12644286 via CL 12644366 via CL 12649419 via CL 12649467 via CL 12649516
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)
[CL 12649559 by chris adams in Main branch]