Merge "Do not disconnect existing VPN if seamless handover fails"
diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java
index 0271d3b..1275302 100644
--- a/services/core/java/com/android/server/connectivity/Vpn.java
+++ b/services/core/java/com/android/server/connectivity/Vpn.java
@@ -1141,7 +1141,11 @@
}
} catch (RuntimeException e) {
IoUtils.closeQuietly(tun);
- agentDisconnect();
+ // If this is not seamless handover, disconnect partially-established network when error
+ // occurs.
+ if (oldNetworkAgent != mNetworkAgent) {
+ agentDisconnect();
+ }
// restore old state
mConfig = oldConfig;
mConnection = oldConnection;