From 9872700c56e170e9937c1608c37f117ea6bef7dc Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 8 Jan 2023 08:12:47 +0100 Subject: [PATCH] Auto detect standalone VPN --- .../main/java/eu/faircode/email/ConnectionHelper.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/ConnectionHelper.java b/app/src/main/java/eu/faircode/email/ConnectionHelper.java index 2427230fda..e2ca0e8063 100644 --- a/app/src/main/java/eu/faircode/email/ConnectionHelper.java +++ b/app/src/main/java/eu/faircode/email/ConnectionHelper.java @@ -336,6 +336,14 @@ public class ConnectionHelper { return metered; } + Network[] networks = cm.getAllNetworks(); + if (networks != null && networks.length == 1) { + // Standalone VPN + boolean metered = cm.isActiveNetworkMetered(); + Log.i("isMetered: active VPN metered=" + metered); + return metered; + } + // VPN: evaluate underlying networks Integer transport = null; if (caps.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) @@ -344,7 +352,6 @@ public class ConnectionHelper { transport = NetworkCapabilities.TRANSPORT_WIFI; boolean underlying = false; - Network[] networks = cm.getAllNetworks(); for (Network network : networks) { caps = cm.getNetworkCapabilities(network); if (caps == null) {