|
|
|
|
@ -23,8 +23,6 @@ import android.net.Network
|
|
|
|
|
import android.net.NetworkCapabilities
|
|
|
|
|
import android.net.NetworkRequest
|
|
|
|
|
import android.net.NetworkRequest.Builder
|
|
|
|
|
import android.os.Build.VERSION
|
|
|
|
|
import android.os.Build.VERSION_CODES
|
|
|
|
|
import androidx.core.content.getSystemService
|
|
|
|
|
import androidx.tracing.trace
|
|
|
|
|
import com.google.samples.apps.nowinandroid.core.network.Dispatcher
|
|
|
|
|
@ -90,13 +88,8 @@ internal class ConnectivityManagerNetworkMonitor @Inject constructor(
|
|
|
|
|
.flowOn(ioDispatcher)
|
|
|
|
|
.conflate()
|
|
|
|
|
|
|
|
|
|
@Suppress("DEPRECATION")
|
|
|
|
|
private fun ConnectivityManager.isCurrentlyConnected() = when {
|
|
|
|
|
VERSION.SDK_INT >= VERSION_CODES.M ->
|
|
|
|
|
activeNetwork
|
|
|
|
|
?.let(::getNetworkCapabilities)
|
|
|
|
|
?.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
|
|
|
|
|
|
|
|
|
|
else -> activeNetworkInfo?.isConnected
|
|
|
|
|
} ?: false
|
|
|
|
|
private fun ConnectivityManager.isCurrentlyConnected(): Boolean {
|
|
|
|
|
val networkCapabilities = getNetworkCapabilities(activeNetwork) ?: return false
|
|
|
|
|
return networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|