diff options
author | Irfan Sheriff <isheriff@google.com> | 2011-09-16 22:03:09 -0700 |
---|---|---|
committer | Irfan Sheriff <isheriff@google.com> | 2011-09-16 22:03:09 -0700 |
commit | 2c08ede34ceb0f847cc9f996db9832f5358f8726 (patch) | |
tree | 739977e6a3a3cbd77f14aacd2ed38b6acf64a6cc /core/java/android/net/DhcpStateMachine.java | |
parent | 651cdfcbac6245f570475991588ddc2d30265e8d (diff) | |
download | frameworks_base-2c08ede34ceb0f847cc9f996db9832f5358f8726.zip frameworks_base-2c08ede34ceb0f847cc9f996db9832f5358f8726.tar.gz frameworks_base-2c08ede34ceb0f847cc9f996db9832f5358f8726.tar.bz2 |
Retain DNS information from DHCP request
DHCP renewal can fail to fill DNS information. In such
a case retain info from DHCP request
Bug: 5314392
Change-Id: I2413f738be7c8c965ef9e7ffbc348e2738aa68b5
Diffstat (limited to 'core/java/android/net/DhcpStateMachine.java')
-rw-r--r-- | core/java/android/net/DhcpStateMachine.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/core/java/android/net/DhcpStateMachine.java b/core/java/android/net/DhcpStateMachine.java index 445b2f7..79c9395 100644 --- a/core/java/android/net/DhcpStateMachine.java +++ b/core/java/android/net/DhcpStateMachine.java @@ -63,6 +63,9 @@ public class DhcpStateMachine extends StateMachine { private PowerManager.WakeLock mDhcpRenewWakeLock; private static final String WAKELOCK_TAG = "DHCP"; + //Remember DHCP configuration from first request + private DhcpInfoInternal mDhcpInfo; + private static final int DHCP_RENEW = 0; private static final String ACTION_DHCP_RENEW = "android.net.wifi.DHCP_RENEW"; @@ -335,9 +338,11 @@ public class DhcpStateMachine extends StateMachine { if (dhcpAction == DhcpAction.START) { Log.d(TAG, "DHCP request on " + mInterfaceName); success = NetworkUtils.runDhcp(mInterfaceName, dhcpInfoInternal); + mDhcpInfo = dhcpInfoInternal; } else if (dhcpAction == DhcpAction.RENEW) { Log.d(TAG, "DHCP renewal on " + mInterfaceName); success = NetworkUtils.runDhcpRenew(mInterfaceName, dhcpInfoInternal); + dhcpInfoInternal.updateFromDhcpRequest(mDhcpInfo); } if (success) { |