From d24427fabda5ff0fda6fea40bed588680573388f Mon Sep 17 00:00:00 2001 From: Mitchell Wills Date: Tue, 29 Mar 2016 13:34:45 -0700 Subject: Add WifiScanner API that accepts a WorkSource for scans Bug: 27903217 Change-Id: I2303a2b91a4914e6cacc3108d29697f7a2dad056 --- api/system-current.txt | 2 ++ wifi/java/android/net/wifi/WifiScanner.java | 28 ++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/api/system-current.txt b/api/system-current.txt index 99a4ad3c448a..fe4a248a58d4 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -26814,7 +26814,9 @@ package android.net.wifi { method public void configureWifiChange(android.net.wifi.WifiScanner.WifiChangeSettings); method public boolean getScanResults(); method public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener); + method public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource); method public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener); + method public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource); method public void startTrackingBssids(android.net.wifi.WifiScanner.BssidInfo[], int, android.net.wifi.WifiScanner.BssidListener); method public void startTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener); method public void stopBackgroundScan(android.net.wifi.WifiScanner.ScanListener); diff --git a/wifi/java/android/net/wifi/WifiScanner.java b/wifi/java/android/net/wifi/WifiScanner.java index 508bdff19f9c..bd4220f79ec5 100644 --- a/wifi/java/android/net/wifi/WifiScanner.java +++ b/wifi/java/android/net/wifi/WifiScanner.java @@ -27,6 +27,7 @@ import android.os.Messenger; import android.os.Parcel; import android.os.Parcelable; import android.os.RemoteException; +import android.os.WorkSource; import android.util.Log; import android.util.SparseArray; @@ -661,12 +662,26 @@ public class WifiScanner { * scans should also not share this object. */ public void startBackgroundScan(ScanSettings settings, ScanListener listener) { + startBackgroundScan(settings, listener, null); + } + + /** start wifi scan in background + * @param settings specifies various parameters for the scan; for more information look at + * {@link ScanSettings} + * @param workSource WorkSource to blame for power usage + * @param listener specifies the object to report events to. This object is also treated as a + * key for this scan, and must also be specified to cancel the scan. Multiple + * scans should also not share this object. + */ + public void startBackgroundScan(ScanSettings settings, ScanListener listener, + WorkSource workSource) { Preconditions.checkNotNull(listener, "listener cannot be null"); int key = addListener(listener); if (key == INVALID_KEY) return; validateChannel(); sAsyncChannel.sendMessage(CMD_START_BACKGROUND_SCAN, 0, key, settings); } + /** * stop an ongoing wifi scan * @param listener specifies which scan to cancel; must be same object as passed in {@link @@ -698,6 +713,19 @@ public class WifiScanner { * scans should also not share this object. */ public void startScan(ScanSettings settings, ScanListener listener) { + startScan(settings, listener, null); + } + + /** + * starts a single scan and reports results asynchronously + * @param settings specifies various parameters for the scan; for more information look at + * {@link ScanSettings} + * @param workSource WorkSource to blame for power usage + * @param listener specifies the object to report events to. This object is also treated as a + * key for this scan, and must also be specified to cancel the scan. Multiple + * scans should also not share this object. + */ + public void startScan(ScanSettings settings, ScanListener listener, WorkSource workSource) { Preconditions.checkNotNull(listener, "listener cannot be null"); int key = addListener(listener); if (key == INVALID_KEY) return; -- cgit v1.2.3-59-g8ed1b