diff options
| -rw-r--r-- | services/net/java/android/net/ip/IpManager.java | 25 |
1 files 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 |