am 41b35884
: Revert "DO NOT MERGE Revert "Fix lease duration handling""
* commit '41b35884ff68a62f5fc8f65dcc26342d0889113d': Revert "DO NOT MERGE Revert "Fix lease duration handling""
This commit is contained in:
@ -66,6 +66,9 @@ public class DhcpStateMachine extends StateMachine {
|
||||
private static final int DHCP_RENEW = 0;
|
||||
private static final String ACTION_DHCP_RENEW = "android.net.wifi.DHCP_RENEW";
|
||||
|
||||
//Used for sanity check on setting up renewal
|
||||
private static final int MIN_RENEWAL_TIME_SECS = 5 * 60; // 5 minutes
|
||||
|
||||
private enum DhcpAction {
|
||||
START,
|
||||
RENEW
|
||||
@ -331,12 +334,20 @@ public class DhcpStateMachine extends StateMachine {
|
||||
|
||||
if (success) {
|
||||
Log.d(TAG, "DHCP succeeded on " + mInterfaceName);
|
||||
long leaseDuration = dhcpInfoInternal.leaseDuration; //int to long conversion
|
||||
|
||||
//Sanity check for renewal
|
||||
//TODO: would be good to notify the user that his network configuration is
|
||||
//bad and that the device cannot renew below MIN_RENEWAL_TIME_SECS
|
||||
if (leaseDuration < MIN_RENEWAL_TIME_SECS) {
|
||||
leaseDuration = MIN_RENEWAL_TIME_SECS;
|
||||
}
|
||||
//Do it a bit earlier than half the lease duration time
|
||||
//to beat the native DHCP client and avoid extra packets
|
||||
//48% for one hour lease time = 29 minutes
|
||||
mAlarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,
|
||||
SystemClock.elapsedRealtime() +
|
||||
dhcpInfoInternal.leaseDuration * 480, //in milliseconds
|
||||
leaseDuration * 480, //in milliseconds
|
||||
mDhcpRenewalIntent);
|
||||
|
||||
mController.obtainMessage(CMD_POST_DHCP_ACTION, DHCP_SUCCESS, 0, dhcpInfoInternal)
|
||||
|
Reference in New Issue
Block a user