From 13820af302ead6b6a17b5f1b3991fcf8af252f93 Mon Sep 17 00:00:00 2001 From: Robert Greenwalt Date: Fri, 20 Sep 2013 15:13:08 -0700 Subject: Fix BatchScan request coalesing bug:10407896 Change-Id: Ic22c7d8b2a80d490d208570782a12e42d4690f5c --- .../java/android/net/wifi/BatchedScanSettings.java | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'wifi/java/android/net/wifi/BatchedScanSettings.java') diff --git a/wifi/java/android/net/wifi/BatchedScanSettings.java b/wifi/java/android/net/wifi/BatchedScanSettings.java index 44a2ab4..f7ebc17 100644 --- a/wifi/java/android/net/wifi/BatchedScanSettings.java +++ b/wifi/java/android/net/wifi/BatchedScanSettings.java @@ -135,6 +135,42 @@ public class BatchedScanSettings implements Parcelable { return false; } + /** @hide */ + public void constrain() { + if (scanIntervalSec == UNSPECIFIED) { + scanIntervalSec = DEFAULT_INTERVAL_SEC; + } else if (scanIntervalSec < MIN_INTERVAL_SEC) { + scanIntervalSec = MIN_INTERVAL_SEC; + } else if (scanIntervalSec > MAX_INTERVAL_SEC) { + scanIntervalSec = MAX_INTERVAL_SEC; + } + + if (maxScansPerBatch == UNSPECIFIED) { + maxScansPerBatch = DEFAULT_SCANS_PER_BATCH; + } else if (maxScansPerBatch < MIN_SCANS_PER_BATCH) { + maxScansPerBatch = MIN_SCANS_PER_BATCH; + } else if (maxScansPerBatch > MAX_SCANS_PER_BATCH) { + maxScansPerBatch = MAX_SCANS_PER_BATCH; + } + + if (maxApPerScan == UNSPECIFIED) { + maxApPerScan = DEFAULT_AP_PER_SCAN; + } else if (maxApPerScan < MIN_AP_PER_SCAN) { + maxApPerScan = MIN_AP_PER_SCAN; + } else if (maxApPerScan > MAX_AP_PER_SCAN) { + maxApPerScan = MAX_AP_PER_SCAN; + } + + if (maxApForDistance == UNSPECIFIED) { + maxApForDistance = DEFAULT_AP_FOR_DISTANCE; + } else if (maxApForDistance < MIN_AP_FOR_DISTANCE) { + maxApForDistance = MIN_AP_FOR_DISTANCE; + } else if (maxApForDistance > MAX_AP_FOR_DISTANCE) { + maxApForDistance = MAX_AP_FOR_DISTANCE; + } + } + + @Override public boolean equals(Object obj) { if (obj instanceof BatchedScanSettings == false) return false; -- cgit v1.1