Commit Graph

165 Commits

Author SHA1 Message Date
Chris Babcock
cd98a42dbc Fix up Lyra warnings
#jira UE-187229
#android
#review @Ryan.Hummer
#rb Ryan.Hummer

#preflight https://horde.devtools.epicgames.com/job/6478f6e77a6aeda41b5a5ed2

[CL 25743610 by Chris Babcock in ue5-main branch]
2023-06-01 17:30:34 -04:00
joe kirchoff
acacd6a8de UnrealBuildTool: More automated code cleanup
* Use object type rather than var
* Remove double newlines
* Use pattern matching

#rnx
#preflight 647780095d23eca37d28a387

[CL 25706751 by joe kirchoff in ue5-main branch]
2023-05-31 13:37:21 -04:00
joe kirchoff
acf80ab609 [Backout] - CL25694851
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: More automated code cleanup

#rnx

[CL 25695155 by joe kirchoff in ue5-main branch]
2023-05-30 19:55:37 -04:00
joe kirchoff
7ed1a39679 UnrealBuildTool: More automated code cleanup
#rnx

[CL 25694864 by joe kirchoff in ue5-main branch]
2023-05-30 19:36:05 -04:00
joe kirchoff
c04da27b3b UnrealBuildTool: More automated code cleanup
#rnx
#preflight 64767efb4b1ead7c7f428c7a

[CL 25693857 by joe kirchoff in ue5-main branch]
2023-05-30 18:59:32 -04:00
joe kirchoff
36d266e932 UnrealBuildTool: Automated code cleanup
#rnx
#preflight 6476799e947ff6973c225619

[CL 25693241 by joe kirchoff in ue5-main branch]
2023-05-30 18:38:07 -04:00
Chris Babcock
a7b817d8ca Upgrade Android Studio and Gradle (OpenJDK 17 from 2202.2.1 and Gradle 7.5)
#jira UE-182869
#android
#review @Jack.Porter
#rb Ben.Temple

#preflight https://horde.devtools.epicgames.com/job/6470fd1fd729def34b72a8ff

[CL 25651882 by Chris Babcock in ue5-main branch]
2023-05-26 16:03:01 -04:00
joakim trossvik
fd0e37f99b Handle cellular network in background download
- When the App is alive and cellular is needed we show a "Waiting for cellular approval" notification
- When the app is killed you can accept cellular download from the notification tray.
- Still needs to rework cellular to connect it to the Java layer
- Accepting cellular when the app is open will replicated the value to the Java layer
#preflight 646f1b01f85111e06cf22e7f

[CL 25635253 by joakim trossvik in ue5-main branch]
2023-05-25 19:33:49 -04:00
chris babcock
b3320c28db Set buildToolsVersion in subprojects to match project for Android packaging
#jira UE-181263
#android
[REVIEW] [at]Jack.Porter
#rb Jack.Porter

#preflight https://horde.devtools.epicgames.com/job/641e22b5c42c7fd1cbe4858e

[CL 24791682 by chris babcock in ue5-main branch]
2023-03-24 21:28:33 -04:00
Rafa Lecina
a4120e35ca Fix Find/Join session using OSSNull on Android.
In order to use multicast communication or broadcasts Android applications need the CHANGE_WIFI_MULTICAST_STATE permission and acquiring a WifiManager.MulticastLock

#jira UE-165411
#review @Bertrand.Carre, @Chris.Varnsverry, @Chris.Babcock, @Jack.Porter
#preflight 63e363beb923ed4bdd350643

[CL 24069824 by Rafa Lecina in ue5-main branch]
2023-02-08 04:18:21 -05:00
josh adams
1610c3bee3 UnrealArch/UnrealArchitectures changes
- Creates the UnrealArchitectures class, which wraps a list of UnrealArch objects
 - UnrealArch is a single architecture, expandable enum-like struct
 - There is no more concept of "no/default architecture", there is always a valid active architecture when building
 - Most uses of "string Architecture" are replaced with one of the two above, depending if multiple architectures are supported or not
 - UnrealArch has some platform-extensions for platform-specific naming (like Linux adds in LinuxName that turns, for instance, Arm64 -> aarch64-unknown-linux-gnueabi, which is used in folder names, etc)
 - UnrealArch has bIsX64 which can be used determine intel instruction set (as opposed to arm)
 - TargetRules class has an "Architecture" accessor that will return a single architecture if the active architectures is a single architecture, or throw an exception if multiple. This is useful in a majority of the cases where a paltform can only have a single architecture active in TargetRules (microsoft platforms, for instance, will create separate targets when compiling multiple architectures at once)
 - Added UnrealArchitectureConfig class, which contains all the architecture information for a platform (what architectures are supported, what ones are currently active for given project, etc)

#preflight 63c81fb5b065224750a1759e
#rb mike.fricker,roman.dzieciol,joe.kirchoff,dmytro.vovk,brandon.schaefer [various parts]
#p4v-preflight-copy 23562471

[CL 23829977 by josh adams in ue5-main branch]
2023-01-24 09:30:28 -05:00
Josh Adams
6f8a642479 Android architecture overhaul (version 1, more can be done!)
- Changed -arm64 and -x64 to arm64 and x64
- Removed the Arches array and other multi-architecture stuff from Adnroid compiling and linking, and using the higher level UEToolchain functionality to handle multi-architecture
- AndroidToolchain is now a proper ClangToolchain subclass instead of overriding everything it did (being a proper ISPCToolchain subclass coming later)
- Updated some of the UEToolchain side stuff (Android is the first platform to need separate Link output, but still need a single Target)
- All the architecture stuff is driven by UEBuildAndroid, not AndroidToolchain, so the make-a-temp-toolchain object just to get architectures was removed
- Removed unused stuff like bAllowMissingNDK, bExecuteCompilerThroughShell, Arches/GPUArches arrays
- Added a high-levle ConvertToPlatformArchitecture() function that UBT can use to turn "x86_64" into the achitecture that Android wants of "x64"
#rb chris.babcock
#preflight 63bdb04271079a8d1c2ef110

[CL 23634002 by Josh Adams in ue5-main branch]
2023-01-10 16:44:45 -05:00
Chris Babcock
9038a4c061 Allow UPL to use tools schema
Allow "build" as part of project names

#jira UE-173037
#android
#review-23584632 none
#rb none

#preflight https://horde.devtools.epicgames.com/log/639e0337012902cb8df765e4

[CL 23584631 by Chris Babcock in ue5-main branch]
2023-01-04 20:52:16 -05:00
dmytro vovk
83fef012da Fixed HWASan build on Android
#rb trivial

[CL 23376312 by dmytro vovk in ue5-main branch]
2022-12-02 13:39:00 -05:00
chris babcock
ec7b516972 Set the minimum compile sdk for Android to 30
#jira UE-164796
#android
[REVIEW] [at]Jack.Porter
#rb Jack.Porter

#preflight https://horde.devtools.epicgames.com/job/632c7e98d51603c54843ee92

[CL 22146012 by chris babcock in ue5-main branch]
2022-09-22 17:42:15 -04:00
Rafa Lecina
991f7d00cc - Update Google Billing Library to v5 and fix or mitigate several issues found before the update
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]
2022-09-01 03:39:00 -04:00
jeannoe morissette
7ebedb9384 Added support for compiling Vulkan PSO's in separate process
#rb jeannoe.morissette
#preflight 62ff8206086f90bbc4fe751f

[CL 21499839 by jeannoe morissette in ue5-main branch]
2022-08-22 21:18:17 -04:00
dmytro vovk
90538d6cd6 Fixed compilation
#rb trivial

[CL 21467662 by dmytro vovk in ue5-main branch]
2022-08-19 19:19:00 -04:00
dmytro vovk
5bad8f37b7 Removed legacy Android Project Settings
#rb Chris.Babcock

[CL 21467626 by dmytro vovk in ue5-main branch]
2022-08-19 19:18:13 -04:00
dmytro vovk
ae5cd1bd0d Fixed TSan deploy code for Android
#jira none
#rb trivial
#preflight 62fbad913c1872b8c9672360

[CL 21405218 by dmytro vovk in ue5-main branch]
2022-08-16 11:04:44 -04:00
chris babcock
06b74463be Fix for -BypassGradlePackaging when Intermediate/Android cleaned
[REVIEW] [at]Allan.Bentham
#rb Allan.Bentham


#ROBOMERGE-AUTHOR: chris.babcock
#ROBOMERGE-SOURCE: CL 21040475 via CL 21040517 via CL 21040535
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21042210 by chris babcock in ue5-main branch]
2022-07-11 12:33:59 -04:00
chris babcock
bad7ca2b35 Fast Android packaging when only libUnreal.so changes if -BypassGradlePackaging option passed to UBT
#android
[REVIEW] [at]Jack.Porter
#rb Jack.Porter

#preflight


#ROBOMERGE-OWNER: chris.babcock
#ROBOMERGE-AUTHOR: chris.babcock
#ROBOMERGE-SOURCE: CL 20907411 via CL 20907449 via CL 20907542 via CL 20907574
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20908385 by chris babcock in ue5-main branch]
2022-06-30 21:26:53 -04:00
Chris Babcock
c8d1870bfe Raise minimum Android version supported to 8.0 (level 26)
#jira UE-156080
#android
#review @Jack.Porter
#rb Jack.Porter

#preflight https://horde.devtools.epicgames.com/job/62a22e07081ed277df5e90be

[CL 20817497 by Chris Babcock in ue5-main branch]
2022-06-24 17:52:12 -04:00
Ben Marsh
cbb950c578 UBT: Use ILogger throughout UBT, rather than legacy EpicGames.Core.Log methods. All output going forwards should use structured logging rather than String.Format style logging.
#preflight 628e9dc6e746de4961f60032

[CL 20373777 by Ben Marsh in ue5-main branch]
2022-05-25 19:55:37 -04:00
Joe Kirchoff
6c92065094 UnrealBuildTool: Merge various Clang ToolChainOptions enums
#rb none
#rnx
#preflight 62843567925bbe69df8dc8d4

[CL 20358298 by Joe Kirchoff in ue5-main branch]
2022-05-24 19:41:41 -04:00