diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 4d9b043a934ef..71ca4190e33e8 100755 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -284,6 +284,10 @@ point on the move. A value of 0 means no periodic scans will be used in the framework. --> 300000 + + 120000 + diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java index 05a8ca74896a7..cbf7bf8f15b99 100644 --- a/wifi/java/android/net/wifi/WifiStateMachine.java +++ b/wifi/java/android/net/wifi/WifiStateMachine.java @@ -394,7 +394,7 @@ public class WifiStateMachine extends StateMachine { * Starting and shutting down driver too quick causes problems leading to driver * being in a bad state. Delay driver stop. */ - private static final int DELAYED_DRIVER_STOP_MS = 2 * 60 * 1000; /* 2 minutes */ + private final int mDriverStopDelayMs; private int mDelayedStopCounter; private boolean mInDelayedStop = false; @@ -563,6 +563,9 @@ public class WifiStateMachine extends StateMachine { mDefaultSupplicantScanIntervalMs = mContext.getResources().getInteger( com.android.internal.R.integer.config_wifi_supplicant_scan_interval); + mDriverStopDelayMs = mContext.getResources().getInteger( + com.android.internal.R.integer.config_wifi_driver_stop_delay); + mContext.registerReceiver( new BroadcastReceiver() { @Override @@ -2589,7 +2592,7 @@ public class WifiStateMachine extends StateMachine { } else { /* send regular delayed shut down */ sendMessageDelayed(obtainMessage(CMD_DELAYED_STOP_DRIVER, - mDelayedStopCounter, 0), DELAYED_DRIVER_STOP_MS); + mDelayedStopCounter, 0), mDriverStopDelayMs); } break; case CMD_START_DRIVER: