diff options
author | Vinit Deshpande <vinitd@google.com> | 2015-03-15 13:34:56 -0700 |
---|---|---|
committer | Vinit Deshpande <vinitd@google.com> | 2015-03-15 13:34:56 -0700 |
commit | b35f4efe159829852ea4a4b58b21448b306c37d9 (patch) | |
tree | ec3fc15fda9392db232282965e73c9baecd31f9d /wifi | |
parent | a89feb7415fbeee14d025a28ca45a049b5e681fe (diff) | |
parent | a0be0fb2709124a567f89114b1d8e80f74452edc (diff) | |
download | frameworks_base-b35f4efe159829852ea4a4b58b21448b306c37d9.zip frameworks_base-b35f4efe159829852ea4a4b58b21448b306c37d9.tar.gz frameworks_base-b35f4efe159829852ea4a4b58b21448b306c37d9.tar.bz2 |
am "set softAP on a specified band, including both 2.4 and 5 GHz band"
merged from goog/mirror-m-wireless-internal-release
a0be0fb set softAP on a specified band, including both 2.4 and 5 GHz band
Change-Id: I8f2514dfc35fafddc52d9244a093f2924697b748
Diffstat (limited to 'wifi')
-rw-r--r-- | wifi/java/android/net/wifi/WifiConfiguration.java | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java index e7e7f5c..593af18 100644 --- a/wifi/java/android/net/wifi/WifiConfiguration.java +++ b/wifi/java/android/net/wifi/WifiConfiguration.java @@ -25,6 +25,11 @@ import android.net.StaticIpConfiguration; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; +import android.util.Log; +import android.annotation.SystemApi; + +import java.util.Random; +import java.util.Calendar; import java.util.HashMap; import java.util.BitSet; import java.util.ArrayList; @@ -57,6 +62,9 @@ public class WifiConfiguration implements Parcelable { public static final String updateIdentiferVarName = "update_identifier"; /** {@hide} */ public static final int INVALID_NETWORK_ID = -1; + /**{@hide}*/ + private static Random mRandom = new Random(Calendar.getInstance().getTimeInMillis()); + /** * Recognized key management schemes. */ @@ -231,6 +239,22 @@ public class WifiConfiguration implements Parcelable { * <code>XX:XX:XX:XX:XX:XX</code> where each <code>X</code> is a hex digit. */ public String BSSID; + + /** + * The band which AP resides on + * 0-2G 1-5G + * By default, 2G is chosen + */ + public int apBand = 0; + + /** + * The channel which AP resides on,currently, US only + * 2G 1-11 + * 5G 36,40,44,48,149,153,157,161,165 + * 0 - find a random available channel according to the apBand + */ + public int apChannel = 0; + /** * Fully qualified domain name (FQDN) of AAA server or RADIUS server * e.g. {@code "mail.example.com"}. @@ -1424,6 +1448,18 @@ public class WifiConfiguration implements Parcelable { } } + public static int chooseApChannel(int apBand) { + int apChannel; + if (apBand == 0) { + apChannel = 1 + mRandom.nextInt(11); + } else { + int channel[] = {36,40,44,48,149,153,157,161,165}; + apChannel = channel[mRandom.nextInt(channel.length)]; + } + Log.d(TAG, "AP set on channel " + apChannel); + return apChannel; + } + /** @hide */ public int getAuthType() { if (isValid() == false) { @@ -1573,6 +1609,9 @@ public class WifiConfiguration implements Parcelable { naiRealm = source.naiRealm; preSharedKey = source.preSharedKey; + apBand = source.apBand; + apChannel = source.apChannel; + wepKeys = new String[4]; for (int i = 0; i < wepKeys.length; i++) { wepKeys[i] = source.wepKeys[i]; @@ -1668,6 +1707,8 @@ public class WifiConfiguration implements Parcelable { dest.writeInt(disableReason); dest.writeString(SSID); dest.writeString(BSSID); + dest.writeInt(apBand); + dest.writeInt(apChannel); dest.writeString(autoJoinBSSID); dest.writeString(FQDN); dest.writeString(naiRealm); @@ -1736,6 +1777,8 @@ public class WifiConfiguration implements Parcelable { config.disableReason = in.readInt(); config.SSID = in.readString(); config.BSSID = in.readString(); + config.apBand = in.readInt(); + config.apChannel = in.readInt(); config.autoJoinBSSID = in.readString(); config.FQDN = in.readString(); config.naiRealm = in.readString(); |