mirror of
https://github.com/LiveFastEatTrashRaccoon/RaccoonForLemmy.git
synced 2025-02-08 18:28:38 +01:00
enhancement: simplify network availability checks (#1013)
This commit is contained in:
parent
65c03c635c
commit
ead7100948
@ -4,7 +4,6 @@ import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.net.ConnectivityManager
|
||||
import android.net.NetworkCapabilities
|
||||
import android.os.Build
|
||||
|
||||
class DefaultNetworkManager(
|
||||
private val context: Context,
|
||||
@ -12,18 +11,8 @@ class DefaultNetworkManager(
|
||||
@SuppressLint("MissingPermission")
|
||||
override suspend fun isNetworkAvailable(): Boolean =
|
||||
with(context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
||||
val capabilities = getNetworkCapabilities(activeNetwork) ?: return@with false
|
||||
when {
|
||||
capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> true
|
||||
capabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> true
|
||||
capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> true
|
||||
else -> false
|
||||
}
|
||||
} else if (activeNetworkInfo != null && activeNetworkInfo?.isConnectedOrConnecting == true) {
|
||||
true
|
||||
} else {
|
||||
false
|
||||
}
|
||||
// min SDK for project is 26 and methods used are 23+
|
||||
val netCapabilities = getNetworkCapabilities(activeNetwork)
|
||||
return netCapabilities != null && netCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) && netCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user