From 9bc78e8a25b3fa036103ce1d803ac09ce1bdb6d1 Mon Sep 17 00:00:00 2001 From: Mitchell Wills Date: Tue, 6 Sep 2016 15:08:36 -0700 Subject: [PATCH] Add a flag to indicate if a ScanData is for a scan for all channels BUG=30897947 Change-Id: I919d7fa9c3bf196371e506d23e393a9d609a5b4b (cherry picked from commit 4bfb391c91b3539d2ec20ffd7e01056dafa0984d) --- wifi/java/android/net/wifi/WifiScanner.java | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/wifi/java/android/net/wifi/WifiScanner.java b/wifi/java/android/net/wifi/WifiScanner.java index 716f1d32ec848..3190ead48da0a 100644 --- a/wifi/java/android/net/wifi/WifiScanner.java +++ b/wifi/java/android/net/wifi/WifiScanner.java @@ -286,6 +286,12 @@ public class WifiScanner { * {@hide} */ private int mBucketsScanned; + /** + * Indicates that the scan results received are as a result of a scan of all available + * channels. This should only be expected to function for single scans. + * {@hide} + */ + private boolean mAllChannelsScanned; /** all scan results discovered in this scan, sorted by timestamp in ascending order */ private ScanResult mResults[]; @@ -298,10 +304,12 @@ public class WifiScanner { } /** {@hide} */ - public ScanData(int id, int flags, int bucketsScanned, ScanResult[] results) { + public ScanData(int id, int flags, int bucketsScanned, boolean allChannelsScanned, + ScanResult[] results) { mId = id; mFlags = flags; mBucketsScanned = bucketsScanned; + mAllChannelsScanned = allChannelsScanned; mResults = results; } @@ -309,6 +317,7 @@ public class WifiScanner { mId = s.mId; mFlags = s.mFlags; mBucketsScanned = s.mBucketsScanned; + mAllChannelsScanned = s.mAllChannelsScanned; mResults = new ScanResult[s.mResults.length]; for (int i = 0; i < s.mResults.length; i++) { ScanResult result = s.mResults[i]; @@ -330,6 +339,11 @@ public class WifiScanner { return mBucketsScanned; } + /** {@hide} */ + public boolean isAllChannelsScanned() { + return mAllChannelsScanned; + } + public ScanResult[] getResults() { return mResults; } @@ -345,6 +359,7 @@ public class WifiScanner { dest.writeInt(mId); dest.writeInt(mFlags); dest.writeInt(mBucketsScanned); + dest.writeInt(mAllChannelsScanned ? 1 : 0); dest.writeInt(mResults.length); for (int i = 0; i < mResults.length; i++) { ScanResult result = mResults[i]; @@ -362,12 +377,13 @@ public class WifiScanner { int id = in.readInt(); int flags = in.readInt(); int bucketsScanned = in.readInt(); + boolean allChannelsScanned = in.readInt() != 0; int n = in.readInt(); ScanResult results[] = new ScanResult[n]; for (int i = 0; i < n; i++) { results[i] = ScanResult.CREATOR.createFromParcel(in); } - return new ScanData(id, flags, bucketsScanned, results); + return new ScanData(id, flags, bucketsScanned, allChannelsScanned, results); } public ScanData[] newArray(int size) {