From fd5af409b9f32e3635f23432fabf58f1ba675af8 Mon Sep 17 00:00:00 2001 From: althafvly Date: Mon, 31 Oct 2022 14:14:35 +0530 Subject: [PATCH] Updater: Fix NullPointerException on startup update check. Change-Id: I960db2adf1b10e104ab7f0002548dccc529a8ada --- src/org/lineageos/updater/misc/Utils.java | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/org/lineageos/updater/misc/Utils.java b/src/org/lineageos/updater/misc/Utils.java index e4823801..c33bb081 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; } /** -- GitLab