diff options
Diffstat (limited to 'wifi')
-rw-r--r-- | wifi/java/android/net/wifi/IWifiManager.aidl | 19 | ||||
-rw-r--r-- | wifi/java/android/net/wifi/WifiConfiguration.java | 23 | ||||
-rw-r--r-- | wifi/java/android/net/wifi/WifiManager.java | 72 | ||||
-rw-r--r-- | wifi/java/android/net/wifi/WifiStateMachine.java | 4 |
4 files changed, 87 insertions, 31 deletions
diff --git a/wifi/java/android/net/wifi/IWifiManager.aidl b/wifi/java/android/net/wifi/IWifiManager.aidl index 847577f..7a9276d 100644 --- a/wifi/java/android/net/wifi/IWifiManager.aidl +++ b/wifi/java/android/net/wifi/IWifiManager.aidl @@ -1,16 +1,16 @@ /** * Copyright (c) 2008, The Android Open Source Project * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and * limitations under the License. */ @@ -23,6 +23,7 @@ import android.net.wifi.WpsResult; import android.net.wifi.ScanResult; import android.net.DhcpInfo; +import android.os.Messenger; import android.os.WorkSource; /** @@ -111,5 +112,7 @@ interface IWifiManager void forgetNetwork(int networkId); WpsResult startWps(in WpsConfiguration config); + + Messenger getMessenger(); } diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java index d5fb63e..28a5bc6 100644 --- a/wifi/java/android/net/wifi/WifiConfiguration.java +++ b/wifi/java/android/net/wifi/WifiConfiguration.java @@ -107,9 +107,16 @@ public class WifiConfiguration implements Parcelable { * generated WEP keys. */ public static final int IEEE8021X = 3; + /** WPA2 pre-shared key for use with soft access point + * (requires {@code preSharedKey} to be specified). + * @hide + */ + public static final int WPA2_PSK = 4; + public static final String varName = "key_mgmt"; - public static final String[] strings = { "NONE", "WPA_PSK", "WPA_EAP", "IEEE8021X" }; + public static final String[] strings = { "NONE", "WPA_PSK", "WPA_EAP", "IEEE8021X", + "WPA2_PSK" }; } /** @@ -480,6 +487,20 @@ public class WifiConfiguration implements Parcelable { dest.writeInt(nextSetBit); } + /** @hide */ + public int getAuthType() { + if (allowedKeyManagement.get(KeyMgmt.WPA_PSK)) { + return KeyMgmt.WPA_PSK; + } else if (allowedKeyManagement.get(KeyMgmt.WPA2_PSK)) { + return KeyMgmt.WPA2_PSK; + } else if (allowedKeyManagement.get(KeyMgmt.WPA_EAP)) { + return KeyMgmt.WPA_EAP; + } else if (allowedKeyManagement.get(KeyMgmt.IEEE8021X)) { + return KeyMgmt.IEEE8021X; + } + return KeyMgmt.NONE; + } + /** Implement the Parcelable interface {@hide} */ public int describeContents() { return 0; diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java index 4ac03a8..0807a24 100644 --- a/wifi/java/android/net/wifi/WifiManager.java +++ b/wifi/java/android/net/wifi/WifiManager.java @@ -24,6 +24,7 @@ import android.os.IBinder; import android.os.Handler; import android.os.RemoteException; import android.os.WorkSource; +import android.os.Messenger; import java.util.List; @@ -60,7 +61,7 @@ public class WifiManager { * Broadcast intent action indicating that Wi-Fi has been enabled, disabled, * enabling, disabling, or unknown. One extra provides this state as an int. * Another extra provides the previous state, if available. - * + * * @see #EXTRA_WIFI_STATE * @see #EXTRA_PREVIOUS_WIFI_STATE */ @@ -71,7 +72,7 @@ public class WifiManager { * The lookup key for an int that indicates whether Wi-Fi is enabled, * disabled, enabling, disabling, or unknown. Retrieve it with * {@link android.content.Intent#getIntExtra(String,int)}. - * + * * @see #WIFI_STATE_DISABLED * @see #WIFI_STATE_DISABLING * @see #WIFI_STATE_ENABLED @@ -81,22 +82,22 @@ public class WifiManager { public static final String EXTRA_WIFI_STATE = "wifi_state"; /** * The previous Wi-Fi state. - * + * * @see #EXTRA_WIFI_STATE */ public static final String EXTRA_PREVIOUS_WIFI_STATE = "previous_wifi_state"; - + /** * Wi-Fi is currently being disabled. The state will change to {@link #WIFI_STATE_DISABLED} if * it finishes successfully. - * + * * @see #WIFI_STATE_CHANGED_ACTION * @see #getWifiState() */ public static final int WIFI_STATE_DISABLING = 0; /** * Wi-Fi is disabled. - * + * * @see #WIFI_STATE_CHANGED_ACTION * @see #getWifiState() */ @@ -104,14 +105,14 @@ public class WifiManager { /** * Wi-Fi is currently being enabled. The state will change to {@link #WIFI_STATE_ENABLED} if * it finishes successfully. - * + * * @see #WIFI_STATE_CHANGED_ACTION * @see #getWifiState() */ public static final int WIFI_STATE_ENABLING = 2; /** * Wi-Fi is enabled. - * + * * @see #WIFI_STATE_CHANGED_ACTION * @see #getWifiState() */ @@ -119,7 +120,7 @@ public class WifiManager { /** * Wi-Fi is in an unknown state. This state will occur when an error happens while enabling * or disabling. - * + * * @see #WIFI_STATE_CHANGED_ACTION * @see #getWifiState() */ @@ -418,6 +419,22 @@ public class WifiManager { */ public static final int WIFI_FREQUENCY_BAND_2GHZ = 2; + /** List of asyncronous notifications + * @hide + */ + public static final int DATA_ACTIVITY_NOTIFICATION = 1; + + //Lowest bit indicates data reception and the second lowest + //bit indicates data transmitted + /** @hide */ + public static final int DATA_ACTIVITY_NONE = 0x00; + /** @hide */ + public static final int DATA_ACTIVITY_IN = 0x01; + /** @hide */ + public static final int DATA_ACTIVITY_OUT = 0x02; + /** @hide */ + public static final int DATA_ACTIVITY_INOUT = 0x03; + IWifiManager mService; Handler mHandler; @@ -478,7 +495,7 @@ public class WifiManager { * <p/> * The new network will be marked DISABLED by default. To enable it, * called {@link #enableNetwork}. - * + * * @param config the set of variables that describe the configuration, * contained in a {@link WifiConfiguration} object. * @return the ID of the newly created network description. This is used in @@ -518,7 +535,7 @@ public class WifiManager { /** * Internal method for doing the RPC that creates a new network description * or updates an existing one. - * + * * @param config The possibly sparse object containing the variables that * are to set or updated in the network description. * @return the ID of the network on success, {@code -1} on failure. @@ -705,7 +722,7 @@ public class WifiManager { * Note: It is possible for this method to change the network IDs of * existing networks. You should assume the network IDs can be different * after calling this method. - * + * * @return {@code true} if the operation succeeded */ public boolean saveConfiguration() { @@ -816,20 +833,20 @@ public class WifiManager { return WIFI_STATE_UNKNOWN; } } - + /** - * Return whether Wi-Fi is enabled or disabled. + * Return whether Wi-Fi is enabled or disabled. * @return {@code true} if Wi-Fi is enabled * @see #getWifiState() */ public boolean isWifiEnabled() { return getWifiState() == WIFI_STATE_ENABLED; } - + /** * Calculates the level of the signal. This should be used any time a signal * is being shown. - * + * * @param rssi The power of the signal measured in RSSI. * @param numLevels The number of levels to consider in the calculated * level. @@ -847,10 +864,10 @@ public class WifiManager { return (int)((float)(rssi - MIN_RSSI) * outputRange / inputRange); } } - + /** * Compares two signal strengths. - * + * * @param rssiA The power of the first signal measured in RSSI. * @param rssiB The power of the second signal measured in RSSI. * @return Returns <0 if the first signal is weaker than the second signal, @@ -1115,9 +1132,24 @@ public class WifiManager { } /** + * Get a reference to WifiService handler. This is used by a client to establish + * an AsyncChannel communication with WifiService + * + * @return Messenger pointing to the WifiService handler + * @hide + */ + public Messenger getMessenger() { + try { + return mService.getMessenger(); + } catch (RemoteException e) { + return null; + } + } + + /** * Allows an application to keep the Wi-Fi radio awake. * Normally the Wi-Fi radio may turn off when the user has not used the device in a while. - * Acquiring a WifiLock will keep the radio on until the lock is released. Multiple + * Acquiring a WifiLock will keep the radio on until the lock is released. Multiple * applications may hold WifiLocks, and the radio will only be allowed to turn off when no * WifiLocks are held in any application. * @@ -1153,7 +1185,7 @@ public class WifiManager { * Locks the Wi-Fi radio on until {@link #release} is called. * * If this WifiLock is reference-counted, each call to {@code acquire} will increment the - * reference count, and the radio will remain locked as long as the reference count is + * reference count, and the radio will remain locked as long as the reference count is * above zero. * * If this WifiLock is not reference-counted, the first call to {@code acquire} will lock diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java index 26fae7f..fc42ab8 100644 --- a/wifi/java/android/net/wifi/WifiStateMachine.java +++ b/wifi/java/android/net/wifi/WifiStateMachine.java @@ -435,10 +435,11 @@ public class WifiStateMachine extends HierarchicalStateMachine { private final IBatteryStats mBatteryStats; - public WifiStateMachine(Context context) { + public WifiStateMachine(Context context, String wlanInterface) { super(TAG); mContext = context; + mInterfaceName = wlanInterface; mNetworkInfo = new NetworkInfo(ConnectivityManager.TYPE_WIFI, 0, NETWORKTYPE, ""); mBatteryStats = IBatteryStats.Stub.asInterface(ServiceManager.getService("batteryinfo")); @@ -449,7 +450,6 @@ public class WifiStateMachine extends HierarchicalStateMachine { mWifiMonitor = new WifiMonitor(this); mDhcpInfoInternal = new DhcpInfoInternal(); mWifiInfo = new WifiInfo(); - mInterfaceName = SystemProperties.get("wifi.interface", "tiwlan0"); mSupplicantStateTracker = new SupplicantStateTracker(context, this, getHandler()); mWpsStateMachine = new WpsStateMachine(context, this, getHandler()); mLinkProperties = new LinkProperties(); |