From cdcb51197b42006b779017d21fe7e7d10b326301 Mon Sep 17 00:00:00 2001 From: althafvly Date: Tue, 25 Oct 2022 11:15:06 +0530 Subject: [PATCH] Updater: Drop usage of NetworkInfo - NetworkInfo is deprecated Change-Id: I433bd5e89080931e9a2fdf1253d8e5f493ea2cbe --- src/org/lineageos/updater/misc/Utils.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/org/lineageos/updater/misc/Utils.java b/src/org/lineageos/updater/misc/Utils.java index 7dca495..d768f62 100644 --- a/src/org/lineageos/updater/misc/Utils.java +++ b/src/org/lineageos/updater/misc/Utils.java @@ -23,7 +23,8 @@ import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.net.ConnectivityManager; -import android.net.NetworkInfo; +import android.net.Network; +import android.net.NetworkCapabilities; import android.os.SystemProperties; import android.os.storage.StorageManager; import android.util.Log; @@ -187,8 +188,18 @@ public class Utils { public static boolean isNetworkAvailable(Context context) { ConnectivityManager cm = context.getSystemService(ConnectivityManager.class); - NetworkInfo info = cm.getActiveNetworkInfo(); - return !(info == null || !info.isConnected() || !info.isAvailable()); + Network activeNetwork = cm.getActiveNetwork(); + NetworkCapabilities networkCapabilities = cm.getNetworkCapabilities(activeNetwork); + if (networkCapabilities != null && + networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) && + networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)) { + return networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) + || networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) + || networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_USB) + || networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_VPN) + || networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI); + } + return false; } public static boolean isNetworkMetered(Context context) {