diff --git a/src/org/lineageos/updater/misc/Utils.java b/src/org/lineageos/updater/misc/Utils.java index 23eb10566bec6a526492054ead875bf88d8c1070..bfe266906280be97897cc44b94e93ff65864f4d9 100644 --- a/src/org/lineageos/updater/misc/Utils.java +++ b/src/org/lineageos/updater/misc/Utils.java @@ -263,17 +263,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; } /**