diff options
author | Mitchell Wills <mwills@google.com> | 2016-02-08 23:02:52 -0800 |
---|---|---|
committer | Mitchell Wills <mwills@google.com> | 2016-02-10 21:06:27 -0800 |
commit | 39175cc807488dd849e2c530f8be30dd674fbd9f (patch) | |
tree | 304cbcb66bf138a44ce23ecbe7c77b2db4c91afe /service/java/com/android/server/wifi/scanner/NoBandChannelHelper.java | |
parent | 712ef6246834caeac3d5b06bea08e85d6b29cd7a (diff) | |
download | android_frameworks_opt_net_wifi-39175cc807488dd849e2c530f8be30dd674fbd9f.tar.gz android_frameworks_opt_net_wifi-39175cc807488dd849e2c530f8be30dd674fbd9f.tar.bz2 android_frameworks_opt_net_wifi-39175cc807488dd849e2c530f8be30dd674fbd9f.zip |
Add more functionality to ChannelHelper
Check if a channel is in a ScanSettings
Add channels to accumulator from native settings
Add unit tests for non-abstract ChannelHelper methods
Change-Id: I86b5194b2a5c852fd25041a363f42caa202dfa7a
Diffstat (limited to 'service/java/com/android/server/wifi/scanner/NoBandChannelHelper.java')
-rw-r--r-- | service/java/com/android/server/wifi/scanner/NoBandChannelHelper.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/service/java/com/android/server/wifi/scanner/NoBandChannelHelper.java b/service/java/com/android/server/wifi/scanner/NoBandChannelHelper.java index 5c50abb1b..0d4296ab3 100644 --- a/service/java/com/android/server/wifi/scanner/NoBandChannelHelper.java +++ b/service/java/com/android/server/wifi/scanner/NoBandChannelHelper.java @@ -21,12 +21,28 @@ import android.util.ArraySet; import com.android.server.wifi.WifiNative; +import java.util.Set; + /** * ChannelHelper that offers channel manipulation utilities when the channels in a band are not * known. Operations performed may simplify any band to include all channels. */ public class NoBandChannelHelper extends ChannelHelper { + @Override + public boolean settingsContainChannel(WifiScanner.ScanSettings settings, int channel) { + if (settings.band == WifiScanner.WIFI_BAND_UNSPECIFIED) { + for (int i = 0; i < settings.channels.length; ++i) { + if (settings.channels[i].frequency == channel) { + return true; + } + } + return false; + } else { + return true; + } + } + /** * ChannelCollection that merges channels without knowing which channels are in each band. In * order to do this if any band is added or the maxChannels is exceeded then all channels will @@ -49,6 +65,16 @@ public class NoBandChannelHelper extends ChannelHelper { } @Override + public boolean containsChannel(int channel) { + return mAllChannels || mChannels.contains(channel); + } + + @Override + public boolean isEmpty() { + return !mAllChannels && mChannels.isEmpty(); + } + + @Override public void clear() { mAllChannels = false; mChannels.clear(); @@ -71,6 +97,15 @@ public class NoBandChannelHelper extends ChannelHelper { } } } + + @Override + public Set<Integer> getSupplicantScanFreqs() { + if (mAllChannels) { + return null; + } else { + return new ArraySet<Integer>(mChannels); + } + } } @Override |