summaryrefslogtreecommitdiffstats
path: root/service/java/com/android/server/wifi/scanner/NoBandChannelHelper.java
diff options
context:
space:
mode:
authorMitchell Wills <mwills@google.com>2016-02-08 23:02:52 -0800
committerMitchell Wills <mwills@google.com>2016-02-10 21:06:27 -0800
commit39175cc807488dd849e2c530f8be30dd674fbd9f (patch)
tree304cbcb66bf138a44ce23ecbe7c77b2db4c91afe /service/java/com/android/server/wifi/scanner/NoBandChannelHelper.java
parent712ef6246834caeac3d5b06bea08e85d6b29cd7a (diff)
downloadandroid_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.java35
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