From 982c1fd9b81782901f7c73c2eeabee189558bc7e Mon Sep 17 00:00:00 2001 From: Mahesh A Saptasagar Date: Mon, 1 Dec 2014 23:21:25 +0530 Subject: wifi: Reduce the frequency of scans when in disconnected state and display ON When STA is not connected, display is ON and there are no saved profiles then reduce frequent scans due to scan alarm source by increasing scan alarm time mCurrentScanAlarmMs to 5 minutes since there is already a periodic scan every mSupplicantScanIntervalMs (15 seconds). If there are saved profiles then keep mCurrentScanAlarmMs to 10 seconds. Change-Id: Icc1ec5803b2048f2d12b47092894127be6626dcd CRs-Fixed: 764660 --- .../com/android/server/wifi/WifiStateMachine.java | 30 +++++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) mode change 100755 => 100644 service/java/com/android/server/wifi/WifiStateMachine.java diff --git a/service/java/com/android/server/wifi/WifiStateMachine.java b/service/java/com/android/server/wifi/WifiStateMachine.java old mode 100755 new mode 100644 index a963d5e13..216474943 --- a/service/java/com/android/server/wifi/WifiStateMachine.java +++ b/service/java/com/android/server/wifi/WifiStateMachine.java @@ -3029,7 +3029,19 @@ public class WifiStateMachine extends StateMachine { // Scan after 200ms setScanAlarm(true, 200); } else if (getCurrentState() == mDisconnectedState) { - mCurrentScanAlarmMs = mDisconnectedScanPeriodMs; + + // Configure the scan alarm time to mFrameworkScanIntervalMs + // (5 minutes) if there are no saved profiles as there is + // already a periodic scan getting issued for every + // mSupplicantScanIntervalMs seconds. However keep the + // scan frequency by setting it to mDisconnectedScanPeriodMs + // (10 seconds) when there are configured profiles. + if (mWifiConfigStore.getConfiguredNetworks().size() != 0) { + mCurrentScanAlarmMs = mDisconnectedScanPeriodMs; + } else { + mCurrentScanAlarmMs = mFrameworkScanIntervalMs; + } + // Scan after 200ms setScanAlarm(true, 200); } @@ -7693,9 +7705,19 @@ public class WifiStateMachine extends StateMachine { Settings.Global.WIFI_FRAMEWORK_SCAN_INTERVAL_MS, mDefaultFrameworkScanIntervalMs); - if (mScreenOn) - mCurrentScanAlarmMs = mDisconnectedScanPeriodMs; - + // Configure the scan alarm time to mFrameworkScanIntervalMs + // (5 minutes) if there are no saved profiles as there is + // already a periodic scan getting issued for every + // mSupplicantScanIntervalMs seconds. However keep the + // scan frequency by setting it to mDisconnectedScanPeriodMs + // (10 seconds) when there are configured profiles. + if (mScreenOn) { + if (mWifiConfigStore.getConfiguredNetworks().size() != 0) { + mCurrentScanAlarmMs = mDisconnectedScanPeriodMs; + } else { + mCurrentScanAlarmMs = mFrameworkScanIntervalMs; + } + } if (PDBG) { loge(" Enter disconnected State scan interval " + mFrameworkScanIntervalMs + " mEnableBackgroundScan= " + mEnableBackgroundScan -- cgit v1.2.3