updated the NetworkChecker.kt

This commit is contained in:
sathwikcs
2025-01-29 15:39:29 +05:30
parent b344dbcb69
commit c1f02c878c

View File

@@ -5,7 +5,6 @@ import android.net.ConnectivityManager
import android.net.Network
import android.net.NetworkCapabilities
import android.net.NetworkRequest
import android.os.Build
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import dagger.hilt.android.qualifiers.ApplicationContext
@@ -43,8 +42,7 @@ class NetworkMonitor @Inject constructor(
}
override fun onCapabilitiesChanged(
network: Network,
networkCapabilities: NetworkCapabilities
network: Network, networkCapabilities: NetworkCapabilities
) {
// Recheck connectivity when capabilities change (e.g., network becomes validated)
performPingCheck()
@@ -53,14 +51,9 @@ class NetworkMonitor @Inject constructor(
fun startMonitoring() {
// Check initial connectivity status
val isInitiallyConnected = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
val network = connectivityManager.activeNetwork
val capabilities = connectivityManager.getNetworkCapabilities(network)
capabilities?.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) == true
} else {
val activeNetworkInfo = connectivityManager.activeNetworkInfo
activeNetworkInfo?.isConnected == true
}
val network = connectivityManager.activeNetwork
val capabilities = connectivityManager.getNetworkCapabilities(network)
val isInitiallyConnected = capabilities?.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) == true
if (isInitiallyConnected) {
performPingCheck()
@@ -68,14 +61,14 @@ class NetworkMonitor @Inject constructor(
_isConnected.postValue(false)
}
val networkRequest = NetworkRequest.Builder()
.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
.build()
val networkRequest =
NetworkRequest.Builder().addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
.build()
connectivityManager.registerNetworkCallback(networkRequest, networkCallback)
}
fun stopMonitoring() {
fun stopMonitoring() { // never needed to call
try {
connectivityManager.unregisterNetworkCallback(networkCallback)
} catch (_: IllegalArgumentException) {