From 7768aea11dc9551add8e4f21a2fac5ac51874245 Mon Sep 17 00:00:00 2001 From: Tony Tam <149837+tonytamsf@users.noreply.github.com> Date: Mon, 27 Dec 2021 08:18:19 -0800 Subject: VPN+Wifi, not treated as metered (#5613) --- .../main/java/de/danoeh/antennapod/core/util/NetworkUtils.java | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'core') diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/NetworkUtils.java b/core/src/main/java/de/danoeh/antennapod/core/util/NetworkUtils.java index 4cbd8b2c2..63b5db1f9 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/util/NetworkUtils.java +++ b/core/src/main/java/de/danoeh/antennapod/core/util/NetworkUtils.java @@ -96,6 +96,16 @@ public class NetworkUtils { private static boolean isNetworkMetered() { ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { + NetworkCapabilities capabilities = connManager.getNetworkCapabilities( + connManager.getActiveNetwork()); + + if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) + && capabilities.hasTransport(NetworkCapabilities.TRANSPORT_VPN)) { + return false; + } + } return connManager.isActiveNetworkMetered(); } -- cgit v1.2.3