summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Greenwalt <rgreenwalt@google.com>2013-05-20 11:49:46 -0700
committerRobert Greenwalt <rgreenwalt@google.com>2013-05-20 11:49:46 -0700
commite47d7d43803926d86654a03d719c5551bc950690 (patch)
tree4c3a0ad945947abe21d9ab098cf08ca8835d3102
parent5c11e8ee5463b88907814e3e8716af292f90fb86 (diff)
downloadframeworks_base-e47d7d43803926d86654a03d719c5551bc950690.zip
frameworks_base-e47d7d43803926d86654a03d719c5551bc950690.tar.gz
frameworks_base-e47d7d43803926d86654a03d719c5551bc950690.tar.bz2
Add a time margin for deferred enable.
We were getting delayed message delivered 1 ms before we expected. bug:9014777 Change-Id: I70e681ff6b4155d31097b43529478b39c816e70b
-rw-r--r--services/java/com/android/server/wifi/WifiController.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/services/java/com/android/server/wifi/WifiController.java b/services/java/com/android/server/wifi/WifiController.java
index 8e2bdaa..228fabf 100644
--- a/services/java/com/android/server/wifi/WifiController.java
+++ b/services/java/com/android/server/wifi/WifiController.java
@@ -78,6 +78,10 @@ class WifiController extends StateMachine {
*/
private static final long DEFAULT_REENABLE_DELAY_MS = 500;
+ // finding that delayed messages can sometimes be delivered earlier than expected
+ // probably rounding errors.. add a margin to prevent problems
+ private static final long DEFER_MARGIN_MS = 5;
+
NetworkInfo mNetworkInfo = new NetworkInfo(ConnectivityManager.TYPE_WIFI, 0, "WIFI", "");
private static final String ACTION_DEVICE_IDLE =
@@ -437,7 +441,7 @@ class WifiController extends StateMachine {
Message deferredMsg = obtainMessage(CMD_DEFERRED_TOGGLE);
deferredMsg.obj = Message.obtain(msg);
deferredMsg.arg1 = ++mDeferredEnableSerialNumber;
- sendMessageDelayed(deferredMsg, mReEnableDelayMillis - delaySoFar);
+ sendMessageDelayed(deferredMsg, mReEnableDelayMillis - delaySoFar + DEFER_MARGIN_MS);
return true;
}
@@ -561,7 +565,7 @@ class WifiController extends StateMachine {
Message deferredMsg = obtainMessage(CMD_DEFERRED_TOGGLE);
deferredMsg.obj = Message.obtain(msg);
deferredMsg.arg1 = ++mDeferredEnableSerialNumber;
- sendMessageDelayed(deferredMsg, mReEnableDelayMillis - delaySoFar);
+ sendMessageDelayed(deferredMsg, mReEnableDelayMillis - delaySoFar + DEFER_MARGIN_MS);
return true;
}