#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]
#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]
# 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]
#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]
[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]
#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]
#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]
# 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]
# 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]
# 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]
#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]
#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]
#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]
#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]
#rb jack.porter
#ROBOMERGE-SOURCE: CL 8210582 via CL 8210585 via CL 8211298
#ROBOMERGE-BOT: (v401-8057353)
[CL 8211403 by dmitriy dyomin in Main branch]
#ue4
#android
[at]Pete.Procopio
#ROBOMERGE-SOURCE: CL 8044017 via CL 8044020 via CL 8044753 via CL 8047292
#ROBOMERGE-BOT: (v400-8057353)
[CL 8066732 by chris babcock in Main branch]
#rb chris.babcock
[FYI] chris.babcock, jack.porter
#rnx
#ROBOMERGE-SOURCE: CL 7920939 via CL 7920941 via CL 7920947 via CL 7922543
#ROBOMERGE-BOT: (v391-7919777)
[CL 7922754 by allan bentham in Main branch]
#android
[REVIEW] [at]Pete.Procopio
#ROBOMERGE-SOURCE: CL 7890200 via CL 7890204 via CL 7893018 via CL 7893354 via CL 7917067
#ROBOMERGE-BOT: (v389-7813075)
[CL 7917162 by chris babcock in Main branch]