diff --git a/src/org/lineageos/updater/misc/Utils.java b/src/org/lineageos/updater/misc/Utils.java index e4823801edc360302556d17a5158ffdc5c9251de..c33bb0813db955552edd618765c567fcda85b0e5 100644 --- a/src/org/lineageos/updater/misc/Utils.java +++ b/src/org/lineageos/updater/misc/Utils.java @@ -258,17 +258,27 @@ public class Utils { ConnectivityManager cm = context.getSystemService(ConnectivityManager.class); Network activeNetwork = cm.getActiveNetwork(); NetworkCapabilities networkCapabilities = cm.getNetworkCapabilities(activeNetwork); - return networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) - || networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) - || networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR); + if (networkCapabilities != null + && networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) + && networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)) { + return networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) + || networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) + || networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR); + } + return false; } public static boolean isOnWifiOrEthernet(Context context) { ConnectivityManager cm = context.getSystemService(ConnectivityManager.class); Network activeNetwork = cm.getActiveNetwork(); NetworkCapabilities networkCapabilities = cm.getNetworkCapabilities(activeNetwork); - return networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) - || networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET); + if (networkCapabilities != null + && networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) + && networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)) { + return networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) + || networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET); + } + return false; } /**