summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorPurushottam Kushwaha <quic_pkushwah@quicinc.com>2020-05-15 14:47:15 +0530
committerRoshan Pius <rpius@google.com>2020-05-15 08:57:13 -0700
commit3c3f237d683fd095f171043b22b915a14c528685 (patch)
tree970dcc5f315262d6c2a27a0c7c8ce0d3890722d9 /service
parent61c22b90db0d4be53a23ca85938ea014e388bb2d (diff)
PNO: Store PNO settings before startHwPnoScan().
PNO settings are stored only when startHwPnoScan() call succeeds. In cases where call to startHwPnoScan() fails (ex: driver returns EBUSY), reportPnoScanFailure() is invoked which notifies the registered listeners only if PNO settings are present. This CL is to store PNO settings before calling startHwPnoScan() API. Thus, caller is notified on failure. Also, clearing pno scan failure count from stopConnectivityScan() API results in PNO scan getting scheduled indefinitely as long as PNO start fails. This CL moves clearing of pno scan failure count to stop(). Bug: 156713311 Test: atest com.android.server.wifi Change-Id: I6e9cac1b1597cad54b45498d8e19469a4a2b3f5e Signed-off-by: Purushottam Kushwaha <quic_pkushwah@quicinc.com>
Diffstat (limited to 'service')
-rw-r--r--service/java/com/android/server/wifi/WifiConnectivityManager.java2
-rw-r--r--service/java/com/android/server/wifi/scanner/WificondScannerImpl.java9
2 files changed, 5 insertions, 6 deletions
diff --git a/service/java/com/android/server/wifi/WifiConnectivityManager.java b/service/java/com/android/server/wifi/WifiConnectivityManager.java
index ed647cb69..8470d0c7d 100644
--- a/service/java/com/android/server/wifi/WifiConnectivityManager.java
+++ b/service/java/com/android/server/wifi/WifiConnectivityManager.java
@@ -1572,7 +1572,6 @@ public class WifiConnectivityManager {
cancelPeriodicScanTimer();
cancelDelayedPartialScan();
stopPnoScan();
- mScanRestartCount = 0;
}
/**
@@ -1905,6 +1904,7 @@ public class WifiConnectivityManager {
mWaitForFullBandScanResults = false;
mLatestCandidates = null;
mLatestCandidatesTimestampMs = 0;
+ mScanRestartCount = 0;
}
/**
diff --git a/service/java/com/android/server/wifi/scanner/WificondScannerImpl.java b/service/java/com/android/server/wifi/scanner/WificondScannerImpl.java
index 4a48ed252..66e0cfbaa 100644
--- a/service/java/com/android/server/wifi/scanner/WificondScannerImpl.java
+++ b/service/java/com/android/server/wifi/scanner/WificondScannerImpl.java
@@ -437,12 +437,11 @@ public class WificondScannerImpl extends WifiScannerImpl implements Handler.Call
return false;
}
- if (startHwPnoScan(settings)) {
- mLastPnoScanSettings = new LastPnoScanSettings(
- mClock.getElapsedSinceBootMillis(),
- settings.networkList, eventHandler);
+ mLastPnoScanSettings = new LastPnoScanSettings(
+ mClock.getElapsedSinceBootMillis(),
+ settings.networkList, eventHandler);
- } else {
+ if (!startHwPnoScan(settings)) {
Log.e(TAG, "Failed to start PNO scan");
reportPnoScanFailure();
}