updated the NetworkChecker.kt
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user