summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--service/java/com/android/server/wifi/WifiConfigManager.java20
1 files changed, 9 insertions, 11 deletions
diff --git a/service/java/com/android/server/wifi/WifiConfigManager.java b/service/java/com/android/server/wifi/WifiConfigManager.java
index 60abbca7e..b371bdd9a 100644
--- a/service/java/com/android/server/wifi/WifiConfigManager.java
+++ b/service/java/com/android/server/wifi/WifiConfigManager.java
@@ -2251,7 +2251,8 @@ public class WifiConfigManager {
mConfiguredNetworks.put(currentConfig);
- NetworkUpdateResult result = writeIpAndProxyConfigurationsOnChange(currentConfig, config);
+ NetworkUpdateResult result =
+ writeIpAndProxyConfigurationsOnChange(currentConfig, config, newNetwork);
result.setIsNewNetwork(newNetwork);
result.setNetworkId(netId);
@@ -2850,16 +2851,11 @@ public class WifiConfigManager {
/* Compare current and new configuration and write to file on change */
private NetworkUpdateResult writeIpAndProxyConfigurationsOnChange(
WifiConfiguration currentConfig,
- WifiConfiguration newConfig) {
+ WifiConfiguration newConfig,
+ boolean isNewNetwork) {
boolean ipChanged = false;
boolean proxyChanged = false;
- if (VDBG) {
- loge("writeIpAndProxyConfigurationsOnChange: " + currentConfig.SSID + " -> " +
- newConfig.SSID + " path: " + ipConfigFile);
- }
-
-
switch (newConfig.getIpAssignment()) {
case STATIC:
if (currentConfig.getIpAssignment() != newConfig.getIpAssignment()) {
@@ -2927,10 +2923,12 @@ public class WifiConfigManager {
}
}
- if (ipChanged || proxyChanged) {
+ if (ipChanged || proxyChanged || isNewNetwork) {
+ if (VDBG) {
+ logd("writeIpAndProxyConfigurationsOnChange: " + currentConfig.SSID + " -> " +
+ newConfig.SSID + " path: " + ipConfigFile);
+ }
writeIpAndProxyConfigurations();
- sendConfiguredNetworksChangedBroadcast(currentConfig,
- WifiManager.CHANGE_REASON_CONFIG_CHANGE);
}
return new NetworkUpdateResult(ipChanged, proxyChanged);
}