From 4b7b04771ecaf440668616d4e3fb64ac3a6daa65 Mon Sep 17 00:00:00 2001 From: Dmitry Muhomor Date: Tue, 23 Jun 2026 18:11:17 +0000 Subject: [PATCH] don't auto-remove always-on VPN when its service becomes unresolvable Based on https://github.com/GrapheneOS/platform_frameworks_base/pull/384 --- .../core/java/com/android/server/connectivity/Vpn.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java index e01960a71598c..b68150c41418d 100644 --- a/services/core/java/com/android/server/connectivity/Vpn.java +++ b/services/core/java/com/android/server/connectivity/Vpn.java @@ -1153,13 +1153,8 @@ public boolean startAlwaysOnVpn() { if (alwaysOnPackage == null) { return true; } - // Remove always-on VPN if it's not supported. if (!isAlwaysOnPackageSupported(alwaysOnPackage)) { - // Do not remove the always-on setting due to the restricted ability in safe mode. - // The always-on VPN can then start after the device reboots to normal mode. - if (!mContext.getPackageManager().isSafeMode()) { - setAlwaysOnPackage(null, false, null); - } + Log.i(TAG, "startAlwaysOnVpn: isAlwaysOnPackageSupported returned false for " + alwaysOnPackage, new Throwable()); return false; } // Skip if the service is already established. This isn't bulletproof: it's not bound