Refactor NetworkCallback listener to correctly track connectivity under VPN#673
Refactor NetworkCallback listener to correctly track connectivity under VPN#673
Conversation
There was a problem hiding this comment.
Ok, I've commented a few things to improve the kotlin flows.
One of the most important comment is about onLost.
But the problem exists even if you always close the coroutine onLost. That's because Molly may start when the VPN is considered connected but the device doesn't have any transport network available: we get networks = (123 to NetworkState(validated = true, blocked = false, onVpn = true)) and conclude isOnline = true
EDIT: in this case bestNetworkState changed validated to false => that's OK, unless there is another weird bug
app/src/main/java/org/thoughtcrime/securesms/messages/NetworkConnectionListener.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/org/thoughtcrime/securesms/messages/NetworkConnectionListener.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/org/thoughtcrime/securesms/messages/NetworkConnectionListener.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/org/thoughtcrime/securesms/messages/NetworkConnectionListener.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/org/thoughtcrime/securesms/messages/NetworkConnectionListener.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/org/thoughtcrime/securesms/messages/NetworkConnectionListener.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/org/thoughtcrime/securesms/messages/NetworkConnectionListener.kt
Outdated
Show resolved
Hide resolved
34580d3 to
e62cbd6
Compare
app/src/main/java/org/thoughtcrime/securesms/messages/NetworkConnectionListener.kt
Outdated
Show resolved
Hide resolved
|
There is a repetitive check, else, it looks good to me |
e556ba0 to
b97f16d
Compare
|
Fixed the unnecessary check. Also renamed the class to InternetConnectivityMonitor, it better describes its purpose and avoids merge conflicts with upstream. |
Co-authored-by: S1m <31284753+p1gp1g@users.noreply.github.com>
b97f16d to
b91e992
Compare
Previously, the listener could incorrectly report Internet access as available when it wasn't, or unavailable when it actually was.
Changes:
We already track all networks individually rather than using a single state, unlike upstream (2dae3cc, 7859ca3).
Fixes #352, fixes #663