diff options
author | Ningyuan Wang <nywang@google.com> | 2017-04-27 12:59:53 -0700 |
---|---|---|
committer | Ningyuan Wang <nywang@google.com> | 2017-05-03 11:18:49 -0700 |
commit | b47a0de674df76df087f0a0d642aea2603bbf6ab (patch) | |
tree | cb9462df9f05f58bbe35a1ea9b9263b92802b063 /service/java/com/android/server/wifi/scanner | |
parent | 8b484d08ba97fd99dfe56dba4bf2fd1bd81e3cde (diff) | |
download | android_frameworks_opt_net_wifi-b47a0de674df76df087f0a0d642aea2603bbf6ab.tar.gz android_frameworks_opt_net_wifi-b47a0de674df76df087f0a0d642aea2603bbf6ab.tar.bz2 android_frameworks_opt_net_wifi-b47a0de674df76df087f0a0d642aea2603bbf6ab.zip |
Remove networks from supplicant before starting PNO scan
We only start PNO scan when network is disconnected and screen
is off.
In the case we get disconnected from an AP, supplicant will keep
triggering scan and reconnect to that network.
This behavior is useful for immediate reconnection. However, when
PNO scan is on, the supplicant's single scan and PNO scan would
usually fail each other because they share the same radio resource.
This is causing power regression.
With this patch, we remove networks from supplicant so supplicant
will not keep scanning for reconnection when PNO scan is on.
Bug: 37744179
Test: unit tests, manual test, integration test
Change-Id: I03d4dea3b7f1acb51d716126f1057c13cd3ee9be
Diffstat (limited to 'service/java/com/android/server/wifi/scanner')
-rw-r--r-- | service/java/com/android/server/wifi/scanner/WificondScannerImpl.java | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/service/java/com/android/server/wifi/scanner/WificondScannerImpl.java b/service/java/com/android/server/wifi/scanner/WificondScannerImpl.java index 1d6d5524a..12024731f 100644 --- a/service/java/com/android/server/wifi/scanner/WificondScannerImpl.java +++ b/service/java/com/android/server/wifi/scanner/WificondScannerImpl.java @@ -894,6 +894,8 @@ public class WificondScannerImpl extends WifiScannerImpl implements Handler.Call return false; } mLastPnoChangeTimeStamp = mClock.getElapsedSinceBootMillis(); + Log.d(TAG, "Remove all networks from supplicant before starting PNO scan"); + mWifiNative.removeAllNetworks(); if (mWifiNative.startPnoScan(mPnoSettings)) { Log.d(TAG, "Changed PNO state from " + mCurrentPnoState + " to enable"); mCurrentPnoState = true; |