summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJonatan Rhodin <jonatan.rhodin@mullvad.net>2024-12-12 11:18:26 +0100
committerJonatan Rhodin <jonatan.rhodin@mullvad.net>2024-12-12 12:40:07 +0100
commitd5fbf532d8b67ea3e92d79783ed850cdcf1f6230 (patch)
tree74cf341b531b198be4e364a60b5af51fec5366cf /android
parentb7fb83f6ad1ec16d9d8afed0c87b9b5e6c013cb9 (diff)
downloadmullvadvpn-d5fbf532d8b67ea3e92d79783ed850cdcf1f6230.tar.xz
mullvadvpn-d5fbf532d8b67ea3e92d79783ed850cdcf1f6230.zip
Add logging to connectivity listener
Diffstat (limited to 'android')
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt13
1 files changed, 11 insertions, 2 deletions
diff --git a/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt
index 4cb67f9945..729145d2a9 100644
--- a/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt
+++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt
@@ -5,6 +5,7 @@ import android.net.LinkProperties
import android.net.Network
import android.net.NetworkCapabilities
import android.net.NetworkRequest
+import co.touchlab.kermit.Logger
import java.net.InetAddress
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.Flow
@@ -45,6 +46,7 @@ class ConnectivityListener(val connectivityManager: ConnectivityManager) {
connectivityManager
.defaultNetworkFlow()
.filterIsInstance<NetworkEvent.LinkPropertiesChanged>()
+ .onEach { Logger.d("Link properties changed") }
.map { it.linkProperties.dnsServersWithoutFallback() }
private fun currentDnsServers(): List<InetAddress> =
@@ -66,11 +68,18 @@ class ConnectivityListener(val connectivityManager: ConnectivityManager) {
.networkFlow(request)
.scan(setOf<Network>()) { networks, event ->
when (event) {
- is NetworkEvent.Available -> networks + event.network
- is NetworkEvent.Lost -> networks - event.network
+ is NetworkEvent.Available -> {
+ Logger.d("Network available ${event.network}")
+ networks + event.network
+ }
+ is NetworkEvent.Lost -> {
+ Logger.d("Network lost ${event.network}")
+ networks - event.network
+ }
else -> networks
}
}
+ .onEach { Logger.d("Number of networks: ${it.size}") }
.map { it.isNotEmpty() }
.distinctUntilChanged()
}