summaryrefslogtreecommitdiffhomepage
path: root/android/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'android/src/main')
-rw-r--r--android/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt5
1 files changed, 4 insertions, 1 deletions
diff --git a/android/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt b/android/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt
index 44f511f22a..c0edbfd021 100644
--- a/android/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt
+++ b/android/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt
@@ -42,7 +42,9 @@ class ConnectivityListener : BroadcastReceiver() {
val networkInfo =
intent.getParcelableExtra<NetworkInfo>(ConnectivityManager.EXTRA_NETWORK_INFO)
- if (networkInfo.type != ConnectivityManager.TYPE_VPN) {
+ if (networkInfo == null) {
+ checkConnectionState(context)
+ } else if (networkInfo.type != ConnectivityManager.TYPE_VPN) {
if (networkInfo.detailedState == DetailedState.DISCONNECTED) {
checkConnectionState(context)
} else if (networkInfo.detailedState == DetailedState.CONNECTED) {
@@ -57,6 +59,7 @@ class ConnectivityListener : BroadcastReceiver() {
isConnected = connectivityManager.allNetworks
.map({ network -> connectivityManager.getNetworkInfo(network) })
+ .filterNotNull()
.any({ networkInfo ->
networkInfo.type != ConnectivityManager.TYPE_VPN &&
networkInfo.detailedState == DetailedState.CONNECTED