From feadfda8a0b7c8849787a258de51671f2c60baae Mon Sep 17 00:00:00 2001 From: Erik Kline Date: Tue, 28 Jun 2016 11:40:07 +0900 Subject: Make provisioning timeout apply to both IPv4 and IPv6 Bug: 29449295 Change-Id: I743533ca61914c11163ba5c5767a365def3a5461 --- services/net/java/android/net/ip/IpManager.java | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/services/net/java/android/net/ip/IpManager.java b/services/net/java/android/net/ip/IpManager.java index 86e15182165d..654ef18f9608 100644 --- a/services/net/java/android/net/ip/IpManager.java +++ b/services/net/java/android/net/ip/IpManager.java @@ -918,12 +918,6 @@ public class IpManager extends StateMachine { mDhcpClient = DhcpClient.makeDhcpClient(mContext, IpManager.this, mInterfaceName); mDhcpClient.registerForPreDhcpNotification(); mDhcpClient.sendMessage(DhcpClient.CMD_START_DHCP); - - if (mConfiguration.mProvisioningTimeoutMs > 0) { - final long alarmTime = SystemClock.elapsedRealtime() + - mConfiguration.mProvisioningTimeoutMs; - mProvisioningTimeoutAlarm.schedule(alarmTime); - } } return true; @@ -1043,11 +1037,24 @@ public class IpManager extends StateMachine { mCallback.setFallbackMulticastFilter(mMulticastFiltering); } + if (mConfiguration.mProvisioningTimeoutMs > 0) { + final long alarmTime = SystemClock.elapsedRealtime() + + mConfiguration.mProvisioningTimeoutMs; + mProvisioningTimeoutAlarm.schedule(alarmTime); + } + if (mConfiguration.mEnableIPv6) { // TODO: Consider transitionTo(mStoppingState) if this fails. startIPv6(); } + if (mConfiguration.mEnableIPv4) { + if (!startIPv4()) { + transitionTo(mStoppingState); + return; + } + } + if (mConfiguration.mUsingIpReachabilityMonitor) { mIpReachabilityMonitor = new IpReachabilityMonitor( mContext, @@ -1059,12 +1066,6 @@ public class IpManager extends StateMachine { } }); } - - if (mConfiguration.mEnableIPv4) { - if (!startIPv4()) { - transitionTo(mStoppingState); - } - } } @Override -- cgit v1.2.3-59-g8ed1b