From b32a9be41971a953297571c05882d9f9852f37b7 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Tue, 1 Dec 2020 15:54:35 +0100 Subject: [PATCH] android: Don't default to marking VPN connections as metered For apps targeting Android 10, where a method to change this was added, the default changed so that all VPN connections are marked as metered. This means certain background operations (e.g. syncing data) are not performed anymore even when connected to a WiFi. By setting this to false, the metered state of the VPN connection reflects that of the underlying networks. --- .../java/org/strongswan/android/logic/CharonVpnService.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java b/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java index da6ea63741..5a37955d3f 100644 --- a/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java +++ b/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java @@ -822,6 +822,12 @@ public class CharonVpnService extends VpnService implements Runnable, VpnStateSe PendingIntent pending = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); builder.setConfigureIntent(pending); + + /* mark all VPN connections as unmetered (default changed for Android 10) */ + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) + { + builder.setMetered(false); + } return builder; } -- 2.47.2