diff options
| -rw-r--r-- | services/core/java/com/android/server/connectivity/Vpn.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java index c3e240a673e4..1db9f749c45b 100644 --- a/services/core/java/com/android/server/connectivity/Vpn.java +++ b/services/core/java/com/android/server/connectivity/Vpn.java @@ -1398,7 +1398,10 @@ public class Vpn { // parameters. If that fails, disconnect. if (oldConfig != null && updateLinkPropertiesInPlaceIfPossible(mNetworkAgent, oldConfig)) { - // Keep mNetworkAgent unchanged + // Update underlying networks if it is changed. + if (!Arrays.equals(oldConfig.underlyingNetworks, config.underlyingNetworks)) { + setUnderlyingNetworks(config.underlyingNetworks); + } } else { // Initialize the state for a new agent, while keeping the old one connected // in case this new connection fails. |