Update to what counts as connected

pull/1710/head
SessionHero01 1 month ago
parent 54ec9e5d10
commit 37fa8e4ae2
No known key found for this signature in database

@ -6,7 +6,6 @@ import android.content.Context.CONNECTIVITY_SERVICE
import android.net.ConnectivityManager import android.net.ConnectivityManager
import android.net.ConnectivityManager.NetworkCallback import android.net.ConnectivityManager.NetworkCallback
import android.net.Network import android.net.Network
import android.net.NetworkCapabilities
import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.SharingStarted
@ -27,15 +26,11 @@ class NetworkConnectivity @Inject constructor(application: Application) {
val connectivityManager = application.getSystemService(ConnectivityManager::class.java) val connectivityManager = application.getSystemService(ConnectivityManager::class.java)
val callback = object : NetworkCallback() { val callback = object : NetworkCallback() {
override fun onCapabilitiesChanged( override fun onAvailable(network: Network) {
network: Network, super.onAvailable(network)
networkCapabilities: NetworkCapabilities
) { Log.v("InternetConnectivity", "Network become available")
super.onCapabilitiesChanged(network, networkCapabilities) trySend(true)
val hasInternet =
networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)
Log.v("InternetConnectivity", "Network capabilities changed: hasInternet? $hasInternet")
trySend(hasInternet)
} }
override fun onLost(network: Network) { override fun onLost(network: Network) {
@ -62,15 +57,7 @@ class NetworkConnectivity @Inject constructor(application: Application) {
private fun haveValidNetworkConnection(context: Context): Boolean { private fun haveValidNetworkConnection(context: Context): Boolean {
val cm = context.getSystemService(CONNECTIVITY_SERVICE) as ConnectivityManager val cm = context.getSystemService(CONNECTIVITY_SERVICE) as ConnectivityManager
// Early exit if we have no active network.. return cm.activeNetwork != null
val activeNetwork = cm.activeNetwork ?: return false
// ..otherwise determine what capabilities are available to the active network.
val networkCapabilities = cm.getNetworkCapabilities(activeNetwork)
val internetConnectionValid = networkCapabilities != null &&
networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
return internetConnectionValid
} }
} }

Loading…
Cancel
Save