diff options
-rw-r--r-- | wifi/java/android/net/wifi/WifiConfigStore.java | 19 | ||||
-rw-r--r-- | wifi/java/android/net/wifi/WifiStateMachine.java | 1 |
2 files changed, 20 insertions, 0 deletions
diff --git a/wifi/java/android/net/wifi/WifiConfigStore.java b/wifi/java/android/net/wifi/WifiConfigStore.java index f6317f5..e6decc8 100644 --- a/wifi/java/android/net/wifi/WifiConfigStore.java +++ b/wifi/java/android/net/wifi/WifiConfigStore.java @@ -461,6 +461,25 @@ class WifiConfigStore { } /** + * set IP configuration for a given network id + */ + static void setIpConfiguration(int netId, DhcpInfoInternal dhcpInfo) { + LinkProperties linkProperties = dhcpInfo.makeLinkProperties(); + + synchronized (sConfiguredNetworks) { + WifiConfiguration config = sConfiguredNetworks.get(netId); + if (config != null) { + // add old proxy details + if(config.linkProperties != null) { + linkProperties.setHttpProxy(config.linkProperties.getHttpProxy()); + } + config.linkProperties = linkProperties; + } + } + } + + + /** * Fetch the proxy properties for a given network id */ static ProxyProperties getProxyProperties(int netId) { diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java index 589d88c..717dcf0 100644 --- a/wifi/java/android/net/wifi/WifiStateMachine.java +++ b/wifi/java/android/net/wifi/WifiStateMachine.java @@ -2510,6 +2510,7 @@ public class WifiStateMachine extends HierarchicalStateMachine { synchronized (mDhcpInfoInternal) { mDhcpInfoInternal = dhcpInfoInternal; } + WifiConfigStore.setIpConfiguration(mLastNetworkId, dhcpInfoInternal); sendMessage(CMD_IP_CONFIG_SUCCESS); } else { Log.d(TAG, "DHCP request failed: " + |