Commit Graph

254 Commits

Author SHA1 Message Date
ben temple
d249fb877e Update NetworkChangedManager to provide connection transport type
The networkChangedManager is the best place to know what kind of connection type we have. This updates the engine and both related projects (web and native) to support receiving this information in the onNetworkAvailable callback.
The callback will be called each time the transport type changes.

Test-plan:
Built native and web versions of app here:
Native:
https://ec-01.epicgames.net/commander/link/jobDetails/jobs/10035906?
Web:
https://ec-01.epicgames.net/commander/link/jobDetails/jobs/10035907?
Launched both versions of the app
Verified that turning off wifi and back on triggered no connection alert
Verified that switching between wifi and cellular back triggered calls to the onNetworkAvailable as expected

#reviewers chris.babcock, zhao.zhong


#ROBOMERGE-OWNER: ben.temple
#ROBOMERGE-AUTHOR: ben.temple
#ROBOMERGE-SOURCE: CL 11560308 via CL 11560328 via CL 11560331
#ROBOMERGE-BOT: (v654-11333218)

[CL 11560333 by ben temple in Main branch]
2020-02-19 23:27:34 -05:00
chris babcock
a963357022 Add FAndroidMisc::IsSupportedAndroidDevice()
#android
[FYI] Wes.Hunt
#rb Wes.Hunt



#ROBOMERGE-SOURCE: CL 11258490 via CL 11258499 via CL 11258503
#ROBOMERGE-BOT: (v647-11244347)

[CL 11258949 by chris babcock in Main branch]
2020-02-05 14:42:51 -05:00
Billy McCarroll
15d5ea2dd5 Add new features from Google Play Billing API
Create Blueprint Nodes for StoreV2
Modify Match3 to use SToreV2 blueprint nodes

#review-11072654 @eric.newman

#rb eric.newman

[CL 11183040 by Billy McCarroll in Main branch]
2020-01-30 14:21:24 -05:00
chris babcock
6b74e750a6 Add bDeviceSupported to GameActivity for configrules to modfy
#ue4
#android
[at]Allan.Bentham
#rb Allan.Bentham



#ROBOMERGE-SOURCE: CL 11136559 via CL 11136567 via CL 11136570
#ROBOMERGE-BOT: (v640-11091645)

[CL 11136574 by chris babcock in Main branch]
2020-01-28 16:29:45 -05:00
Rolando Caloca
bbb9564388 Copying //UE4/Dev-RenderPlat-Staging@11110326 to //UE4/Main
#rb none
#rnx

[CL 11110369 by Rolando Caloca in Main branch]
2020-01-24 18:07:01 -05:00
Ryan Durand
28d3d740dd (Integrating from Dev-EngineMerge to Main)
Second batch of remaining Engine copyright updates.

#rnx
#rb none
#jira none

[CL 10871196 by Ryan Durand in Main branch]
2019-12-27 07:44:07 -05:00
Marc Audy
0ea8c363bf Added ability to check OS level notification status on Android.
#author Casey.Spencer
#rb Chris.Babcock
#rnx

[CL 10795670 by Marc Audy in Main branch]
2019-12-18 10:25:26 -05:00
ben temple
28c5c1f5f2 Update engine network check URL to use HTTPS
#Summary
When targeting Android 28, the network check URL should be https by default otherwise the plain-text traffic will be blocked by Android by default.
Switching to HTTPS fixes this issue.

This is the same change made by [at]chris.babcock here: https://p4-swarm.epicgames.net/changes/10609931

#Test Plan
Compiled fortnite locally with: ./RunUAT.sh BuildCookFort -configuration=Development -Platform=Android -kairos-flavor -skipcook -skipserver
Verified that the output properly generated a network file that could properly determine internet connectivity
This is a necessary change for https://p4-swarm.epicgames.net/reviews/10747632 since in this I remove the network code and rely directly on the network code generated by the engine

#android


#ROBOMERGE-SOURCE: CL 10756945 via CL 10756957 via CL 10756961 via CL 10756964 via CL 10756970
#ROBOMERGE-BOT: (v610-10636431)

[CL 10756976 by ben temple in Main branch]
2019-12-16 19:41:24 -05:00
irene yu
714341011a Fix the compiling error: "error: ';' expected"
#jira UE-85609
#android
[REVIEW] [at]zhao.zhong [at]ben.temple


#ROBOMERGE-SOURCE: CL 10637164 via CL 10637514 via CL 10637584
#ROBOMERGE-BOT: (v609-10634694)

[CL 10637657 by irene yu in Main branch]
2019-12-10 13:20:48 -05:00
irene yu
6922ab4017 Exposed a checkConnectivity method in NetworkConnectivityClient to let the Android native app use.
# Summary
It won't affect other parts of the app.
Then users can manually check the connectivity by clicking RETRY button from the Connection Error UI.

To trigger the connectivity checking immediately and to make sure this is only one-time connectivity checking, we call `checkNetworkConnectivity` directly to avoid to affect the scheduled auto-retry and avoid to change the current retry count. And if a check is already in progress (either triggered manually or scheduled), a new check won't be triggered.

#android
[REVIEW] [at]zhao.zhong [at]ben.temple


#ROBOMERGE-SOURCE: CL 10623197 via CL 10623226 via CL 10623249
#ROBOMERGE-BOT: (v608-10590470)

[CL 10623260 by irene yu in Main branch]
2019-12-09 16:40:03 -05:00
chris babcock
7491e3d074 Fix issue with attempting to aquire WRITE_EXTERNAL_STORAGE when we already have it on non-shipping builds
#jira UE-82384
#ue4
#android
[FYI] Jack.Porter
#rb Brandon.Schaefer

#lockdown Cristina.Riveron

#ROBOMERGE-SOURCE: CL 10435757 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v594-10333955)

[CL 10435760 by chris babcock in Main branch]
2019-11-25 18:57:40 -05:00
chris babcock
5273a9dbba Add another check for 64-bit ABI support
#android
#rb trivial



#ROBOMERGE-SOURCE: CL 10362041 via CL 10362903 via CL 10362936
#ROBOMERGE-BOT: (v594-10333955)

[CL 10362955 by chris babcock in Main branch]
2019-11-21 17:36:56 -05:00
don eubanks
57be34a7c5 Fixed an issue with the Android virtual keyboard mangling emoji when using backspace.
[at]chris.babcock, [at]jamie.dale
#tests Compile Development Client Android


#ROBOMERGE-SOURCE: CL 10327728 via CL 10327758 via CL 10327772
#ROBOMERGE-BOT: (v593-10286020)

[CL 10327780 by don eubanks in Main branch]
2019-11-20 17:22:01 -05:00
ben temple
62d4968d91 Fix not handling all exceptions when testing the network connection.
#Summary
Not all the possible exceptions were documented in the google source code, but other exceptions are clearly possible based on the stack trace found here:
https://www.fabric.io/epic-games/android/apps/com.epicgames.fortnite/issues/3bde8d7431602f8e931118dce2d2482a

This changes the code to simply catch all exceptions and treat any exception as a failure to connect to the internet.

#Test-Plan
I can't repro without the specific bluetooth headset, so will send a build to Edouard Dufresne to verify this fixes the issue



#ROBOMERGE-SOURCE: CL 10269972 via CL 10269982 via CL 10269993
#ROBOMERGE-BOT: (v591-10236483)

[CL 10270004 by ben temple in Main branch]
2019-11-15 17:31:45 -05:00
ben temple
8aaf647319 Fix NPE in network capability validation code
#Summary
Remove useless network capability validated code

The crash was caused by failing to check for null in responses from calls to some system methods.
In general this code doesn't help much since this specific check was added prior to adding the more thorough HEAD request to example.com.
By removing it, it should fix the null issue, and in-fact make the naive internet check more in-line with what's expected which is a very simple network check.
This naive check always followed by attempting to connect to example.com which provides a far more guaranteed check into whether the internet is in-fact connected.

#Test Plan
Connected bluetooth headset
Launched app
launched game
Disconnected bluetooth
Verified no crash



#ROBOMERGE-SOURCE: CL 10155147 via CL 10155334 via CL 10155443
#ROBOMERGE-BOT: (v587-10111126)

[CL 10155612 by ben temple in Main branch]
2019-11-13 14:54:20 -05:00
ben temple
40228b81ae Fix not declaring variable accessed by an inner class as final
# Summary
See title, variable needed to be declared as final.




#ROBOMERGE-SOURCE: CL 10084496 via CL 10084499 via CL 10084505 via CL 10084508
#ROBOMERGE-BOT: (v574-10069753)

[CL 10087046 by ben temple in Main branch]
2019-11-08 15:36:50 -05:00
ben temple
fb6e1288be Fix blocking code in NetworkChangedManager
# Summary
Since the HTTP url open connection is a blocking call. It needs to be run on a seperate thread. The call .get on a future is blocking though, meaning we were still running a blocking call on the main looper. This updates that code to instead add a timeout runnable to the local handler, to cancel the executor if it hasn't completed in the allotted time.

Added some tweaks to match comments made by [at]Pete.Procopio
 - Refactor INSTANCE to be lower case
 - Tweak construction of Logger to match current pattern
 - Copied over correct NetworkChangedManager to remove System static call that was accidently included in the NativeWrapper

[CODEREVIEW] [at]Zhao.Zhong [at]Chris.Babcock [at]Pete.Procopio [at]trevor.stone

# Test Plan
1. Built and ran app with UeDevelopmentDebug
2. app launched
3. signed in
4. verified that could start download
5. Turned off wifi
6. Verified that saw network error
7. Turned wifi back on
8. Verified that network error went away automatically



#ROBOMERGE-SOURCE: CL 10073998 via CL 10074011 via CL 10074013 via CL 10074017
#ROBOMERGE-BOT: (v574-10069753)

[CL 10075107 by ben temple in Main branch]
2019-11-07 15:39:17 -05:00
ben temple
76316d6448 Improve Network Connection Manager's ability to detect bad network conditions
# Summary
This matches code that we recently added to iOS. Along with attempting to determine network connectivity with system methods, this also checks the ability to resolve a HEAD request with an external host `http://google.com/` in-order to verify that the network connection actually has a connection. This check is asynchronous with a 2 second timeout and has an exponential back-off retry with a maximum of up to 13 seconds when the check fails.

[CODEREVIEW] [at]zhaolong.zhong [at]chris.babcock

# Test Plan
1. Built and ran app with UeDevelopmentDebug
2. app launched
3. signed in
4. verified that could start download
5. Turned off wifi
6. Verified that saw network error
7. Turned wifi back on
8. Verified that network error went away automatically

Repeated above steps but instead of turning off wifi, had Scout test it by unplugging the network cable to a wifi router.



#ROBOMERGE-SOURCE: CL 10068945 via CL 10068946 via CL 10068947 via CL 10068950
#ROBOMERGE-BOT: (v574-10069753)

[CL 10073116 by ben temple in Main branch]
2019-11-07 13:47:31 -05:00
chris babcock
f9a2c805ac Verify launch notification event before registering it
#android
[at]Pete.Procopio
#rb Pete.Procopio



#ROBOMERGE-SOURCE: CL 9619974 via CL 9620751 via CL 9620787
#ROBOMERGE-BOT: (v528-9595928)

[CL 9620822 by chris babcock in Main branch]
2019-10-16 14:10:22 -04:00
wang hao
389171f0ea Redo CL 6651507 (originally done in Dev-Kairos but was not merged over properly)
#ROBOMERGE-SOURCE: CL 9581200 via CL 9581203
#ROBOMERGE-BOT: (v524-9564021)

[CL 9581204 by wang hao in Main branch]
2019-10-15 06:37:06 -04:00
chris babcock
9ec855d900 Fix configrules.txt operator bug (contributed by scahp)
#jira UE-81254
#PR #6249
#ue4
#android
#rb trivial



#ROBOMERGE-SOURCE: CL 9479487 via CL 9479558
#ROBOMERGE-BOT: (v508-9471939)

[CL 9479560 by chris babcock in Main branch]
2019-10-08 15:10:41 -04:00
pete procopio
257610eb94 FORT-212155:Update Launcher Provider code to provide FunnelId
#jira:FORT-212155
#android
#rb:Chris.Babcock


#ROBOMERGE-SOURCE: CL 8983651 via CL 8985055 via CL 8985213
#ROBOMERGE-BOT: (v441-8974111)

[CL 8989970 by pete procopio in Main branch]
2019-09-23 16:30:34 -04:00
chris babcock
543950c2fa Handle redirects for streaming media player on Android
#jira UE-80601
#ue4
#android
[FYI] Jack.Porter
#rb Sam.Deiter

#lockdown cristina.riveron

#ROBOMERGE-SOURCE: CL 8914711 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v427-8887818)

[CL 8914722 by chris babcock in Main branch]
2019-09-19 18:00:24 -04:00
jamie dale
07862c3a1f Enable Emoji input for Android
#jira
#rb Chris.Babcock


#ROBOMERGE-SOURCE: CL 8673182 via CL 8676094
#ROBOMERGE-BOT: (v417-8656536)

[CL 8676194 by jamie dale in Main branch]
2019-09-13 13:58:36 -04:00
chris babcock
482a857576 Allow optional for alternative login id determination
#android
#rb Pete.Procopio



#ROBOMERGE-SOURCE: CL 8376640 via CL 8376641 via CL 8376642 via CL 8377377 via CL 8380717
#ROBOMERGE-BOT: (v402-8361577)

[CL 8380781 by chris babcock in Main branch]
2019-08-29 19:59:52 -04:00