368 Commits

Author SHA1 Message Date
nicolas potvin
505a13ef2e Fix for [Mobile] [Luna Controller] The left and right triggers are not functional
-> Added a name check for Luna controllers, to enable using the threshold to consider pulling triggers as "button presses".
   -> Added controller info to GameActivity

[REVIEW] [at]Mathieu.Roy [at]Ghislain.Theriault [at]Bernard.Lambert [at]Chris.Babcock

#rnx

[CL 26770657 by nicolas potvin in 5.3 branch]
2023-08-02 10:06:58 -04:00
wei liu
8f674e7cde Fix the screen resolution (on mobile) stretched issue when casted to a larger screen with a USBC to HDMI cable.
#b Chris.Babcock, Allan.Bentham

[CL 26602475 by wei liu in 5.3 branch]
2023-07-26 06:46:29 -04:00
dmytro ivanov
6531c32f20 Fixing broken .apk generation when iterating
#jira UE-188461
#rb Chris.Babcock

[CL 25946813 by dmytro ivanov in ue5-main branch]
2023-06-13 04:37:50 -04:00
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
dmytro ivanov
894b85c74c Removing emoji filtering on Android
Originally 25582853
#jira UE-186846
#rb Chris.Babcock
#preflight 647709e303438130a456974f

[CL 25698473 by dmytro ivanov in ue5-main branch]
2023-05-31 05:12:51 -04:00
chris babcock
6cb1dc628b Add additional Razer Kishi gamepad
#android
[REVIEW] [at]Mic.Rooney
#rb Mic.Rooney

#preflight none

[CL 25694689 by chris babcock in ue5-main branch]
2023-05-30 19:28:40 -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
carl lloyd
edd3b69886 VulkanRHI: Fixes for PSO compilation
Added VkPipelineShaderStageRequiredSubgroupSizeCreateInfo
Added VkAttachmentReferenceStencilLayout
Added more nullptr checks for pNext

#rb Allan.Bentham

[CL 25551558 by carl lloyd in ue5-main branch]
2023-05-19 16:24:28 -04:00
wei liu
c53c069cf8 Tentative fix for android safe zone.
#rb Chris.Babcock
#preflight 64547812d02ea5289fa6a8a3

[CL 25349049 by wei liu in ue5-main branch]
2023-05-05 01:47:29 -04:00
dmytro ivanov
ee8d372f21 Fixing typo from CL 25336128 (Fixing hardware keyboard input not passing through IME)
#jira UE-185045
#preflight 6453d7224574b81df475a69f

[CL 25336953 by dmytro ivanov in ue5-main branch]
2023-05-04 12:12:43 -04:00
dmytro ivanov
d82dcc7de1 Fixing hardware keyboard input not passing through IME
#jira UE-185045
#rb Jack.Porter
#rb Chris.Babcock
#preflight 6453cf000e33f2d51d2a8d31

[CL 25336128 by dmytro ivanov in ue5-main branch]
2023-05-04 11:40:38 -04:00
chris babcock
d8896a36af Adding network listener for Android.
Adding usage of network listener in Background Download.


#rb [at]Ghislain.Theriault

[REVIEW] [at]Fourat.Jellouli [at]Camille.Gendreau [at]Ghislain.Theriault

#rnx

[CL 25240155 by chris babcock in ue5-main branch]
2023-04-28 16:35:31 -04:00
joakim trossvik
2953110e7e Allow Instant notifications to be sent
* If TargetTime is set to 0 it will send it as soon as posible
#preflight 6440df9e4f243417cd4bfe1f

[CL 25124478 by joakim trossvik in ue5-main branch]
2023-04-20 06:28:32 -04:00
Rafa Lecina
2868e7204b Added support for subscriptions and full server to server validation to OnlinePurchaseGooglePlay.
Full server validation is enabled by setting ``bDisableLocalAcknowledgeAndConsume`` in ``OnlineSubsystemGooglePlay.Store`` section on the ini files. This way consume and acknowledge should be called after server validation through server to server calls to GooglePlay services and all product types allowed by GooglePlay store can be handled

Subscriptions are identified using a unique product id on GooglePlay like any other regular in app products. The main difference with a regular product is that the same subscription can be purchased by many different ways depending on the GooglePlay app configuration.
A subscription may have different base plans which are identified by a string id. Each base plan defines a base price, whetrer the plan is autorenewable or not, the length before expiration. For instance, a subscription may have a base plan with a price for a 1 month subscription and another plan with a different price for a 1 year subscription
Each base plan may have several offers which are identified by a string id. Those may be triggered on purchase by GooglePlay or by the developer. Those offers may configure several phases on a subscription depending on the number of times it has been renewed. For instance, an offer could set a Free period, then a discount on the first 3 renewals and then following renewals would be at the base plan price
Subscription product ids seen from the engine side have a special format starting with "s-" prefix (``-`` is not allowed in product ids in the GooglePlay store, so there would be no broken id on the licensees side) . In order to request product information (QueryOffersById) the product id can be requested with or without that prefix, but all the product ids reported to the engine will contain the prefix in case the product is a subscription
In order to identify base plans, offers and its price phases ``QueryOffersById`` will store a ``FOnlineStoreOffer``instance for each allowed combination
The product id format for those will be s-<store product id>:<base plan id>:<offer id>:<price phase index>
An instance for each base plan will be created without the offer id and price phase index. Also, an instance for each offer will be created without the price index part and containing the final price point(the last price point. This was explicitly requested) in addition to all the price steps
For example, this could be the list of ``FOnlineStoreOffer`` instances created by ``QueryOffersById`` requesting ``s-test_subscription_1``(which in the store would be identified as just ``test_subscription_1``). That would be a subscription with 2 plans, one of the with 2 offers. First offer would contain 3 phases and second just 2 phases
``s-test_subscription_1:base-plan1``
``s-test_subscription_1:base-plan1:offer-1``
``s-test_subscription_1:base-plan1:offer-1:0``
``s-test_subscription_1:base-plan1:offer-1:1``
``s-test_subscription_1:base-plan1:offer-1:2``
``s-test_subscription_1:base-plan1:offer-2``
``s-test_subscription_1:base-plan1:offer-2:0``
``s-test_subscription_1:base-plan1:offer-2:1``
``s-test_subscription_1:base-plan2``

To ``CheckOut`` a product any of those identifiers could be used. The price index would be discarded since a subscription offer must be started from the initial step (GooglePlay already keeps track if the user already used the Free trial period and removes it). If the identifier contains an offer id the subscription will be purchased using that offer

When receipts are queried using ``QueryReceipts`` we will receive receipts for any non consumed product, any pending product (user still needs to pay using an external method) and for any non expired subscriptions
GoogleBilling Library do not notify on device for expired/canceled/paused subscriptions. Real time notifications can be configured on servers to notify validation/authority servers about those changes and act accordingly, so no additional checks should be done from the client
Only notifications received are when a new product is purchased/becomes pending or a subscriptions is activated or resumed. In order to check for receipts status on device the only way should be to call ``QueryReceipts```again and note that there is no receipt for the given subscription. This should be done only in case validations are done locally on device (which is not secure, but there are many serverless games around in mobile)

#jira UE-176438
#review @Bertrand.Carre, @Michael.Kirzinger, @Chris.Varnsverry, @Dashan.Yue, @Chris.Babcock
#preflight 641c4bdb76461c460b9ceaf3

[CL 25037177 by Rafa Lecina in ue5-main branch]
2023-04-14 03:30:00 -04:00
joakim trossvik
c19d8d88fa Android Local Notifications changes
Allow notifications to specify a pinned ID, By doing this it will only show the latest notification sent from that ID.
Currently no IOS implementation.
#preflight 641ad9056f1ceb81be621b6c

[CL 24746687 by joakim trossvik in ue5-main branch]
2023-03-22 09:47:19 -04:00
allan bentham
c0e8a0cb55 Android DPI window resolution selection cvars
- Android.WindowDPI, set a DPI to achieve when calculating the app's screen resolution.
 - Android.3DSceneMaxDesiredPixelCount, set a target pixel count for the 3D scene color resolution.
 - Android.3DSceneMinDPI, set a forced minimum DPI for the 3D scene color resolution, useful to ensure a minimum resolution quality on low DPI devices.
#rb Chris.babcock

[CL 24671989 by allan bentham in ue5-main branch]
2023-03-16 11:41:14 -04:00
chris babcock
9f0bd4f6fc Allow WebGL and video playback in 3D WebBrowser on Android and fix issue with Oculus hardware acceleration
#jira UE-180363
#android
[REVIEW] [at]Jack.Porter
#rb Jack.Porter

#preflight https://horde.devtools.epicgames.com/job/641254b85819afacaf390c4d

[CL 24666189 by chris babcock in ue5-main branch]
2023-03-15 20:47:15 -04:00
chris babcock
0f0466deb6 Fix up support for Google Play Services (remove CVE-2022-2390 issue)
#jira UE-177068
#android
[REVIEW] [at]Jack.Porter
#rb Jack.Porter

#preflight https://horde.devtools.epicgames.com/job/640a74eec41a0a2a7750bdfe

[CL 24587566 by chris babcock in ue5-main branch]
2023-03-09 22:25:37 -05:00
joakim trossvik
42ec2d88c1 Change Memstats printing function.
Allow config to change printing interval
#rb Allan.Bentham
#preflight 63fe10baef1b24bf940947ad
#preflight 63fe202a437ce3e7f39245b1

[CL 24446338 by joakim trossvik in ue5-main branch]
2023-02-28 13:16:55 -05:00
allan bentham
ecddd038ba Fix a crash with the vulkan PSO compile service which occurs on subsequent invocations.
[FYI] carl.lloyd
#preflight 63ee80473c1eb56f0546cd8a
#preflight 63ee8e4d4d2bd434666f85b5

[CL 24269317 by allan bentham in ue5-main branch]
2023-02-16 16:59:26 -05: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
chris babcock
a2e6292e96 Update force feedback support on Android
- Use VibrationEffect for intensity control
- Forward feedback to controller(s) if Android.UseControllerFeedback non-zero (defaults to 1)
- Fix issue with fingerprint scanner false detection as controller
- Does not continue feedback when backgrounded

#jira UE-168579
#android
[REVIEW] [at]Jack.Porter
#rb Jack.Porter

#preflight https://horde.devtools.epicgames.com/job/63e2ff10c11233cdcab34b6e

[CL 24068849 by chris babcock in ue5-main branch]
2023-02-08 01:41:47 -05:00
Wei Liu
be6c26b029 Fix a bug that media couldn't resume after entering background on Android devices.
#jira none

#rb Chris.Babcock
#preflight 63e2e0231020773a3f45dce8

[CL 24062957 by Wei Liu in ue5-main branch]
2023-02-07 18:44:28 -05:00
Rafa Lecina
724827847d Allow purchasing multiple products in one transaction on GooglePlay Android
#jira UE-161334
#review @Bertrand.Carre, @Chris.Varnsverry, @Chris.Babcock, @Jack.Porter
#preflight 63d3ac375c69f453c10f6321

[CL 23987744 by Rafa Lecina in ue5-main branch]
2023-02-03 03:56:51 -05:00