summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/connectivity/Vpn.java12
1 files changed, 5 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java
index c39b4ffcf352..6d3f8fd77232 100644
--- a/services/core/java/com/android/server/connectivity/Vpn.java
+++ b/services/core/java/com/android/server/connectivity/Vpn.java
@@ -3302,8 +3302,6 @@ public class Vpn {
mUnderlyingLinkProperties = null;
mUnderlyingNetworkCapabilities = null;
mRetryCount = 0;
-
- startOrMigrateIkeSession(network);
}
@NonNull
@@ -3530,11 +3528,11 @@ public class Vpn {
public void onDefaultNetworkCapabilitiesChanged(@NonNull NetworkCapabilities nc) {
final NetworkCapabilities oldNc = mUnderlyingNetworkCapabilities;
mUnderlyingNetworkCapabilities = nc;
- // The oldNc may be null when it's not assigned yet.
- final boolean subIdChanged =
- (oldNc == null) || !nc.getSubscriptionIds().equals(oldNc.getSubscriptionIds());
- // Update carrierConfig.
- if (subIdChanged) {
+ if (oldNc == null) {
+ // A new default network is available.
+ startOrMigrateIkeSession(mActiveNetwork);
+ } else if (!nc.getSubscriptionIds().equals(oldNc.getSubscriptionIds())) {
+ // Renew carrierConfig values.
maybeMigrateIkeSession(mActiveNetwork);
}
}