Unhide WifiAdapter APIs

Change-Id: Ia19ab4cfddddd3285ae9e0c5804f2cceda4cf063
diff --git a/api/current.txt b/api/current.txt
index d4c6d46..5ebb0b8 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -17340,6 +17340,23 @@
     enum_constant public static final android.net.wifi.SupplicantState UNINITIALIZED;
   }
 
+  public class WifiAdapter implements android.os.Parcelable {
+    method public int describeContents();
+    method public java.lang.String getName();
+    method public boolean is5GHzBandSupported();
+    method public boolean isDeviceToApRttSupported();
+    method public boolean isDeviceToDeviceRttSupported();
+    method public boolean isEnhancedPowerReportingSupported();
+    method public boolean isOffChannelTdlsSupported();
+    method public boolean isP2pSupported();
+    method public boolean isPasspointSupported();
+    method public boolean isPortableHotspotSupported();
+    method public boolean isPreferredNetworkOffloadSupported();
+    method public boolean isTdlsSupported();
+    method public boolean isWifiScannerSupported();
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
   public class WifiConfiguration implements android.os.Parcelable {
     ctor public WifiConfiguration();
     method public int describeContents();
@@ -17478,6 +17495,7 @@
     method public boolean disableNetwork(int);
     method public boolean disconnect();
     method public boolean enableNetwork(int, boolean);
+    method public java.util.List<android.net.wifi.WifiAdapter> getAdapters();
     method public java.util.List<android.net.wifi.WifiConfiguration> getConfiguredNetworks();
     method public android.net.wifi.WifiInfo getConnectionInfo();
     method public android.net.DhcpInfo getDhcpInfo();
diff --git a/wifi/java/android/net/wifi/WifiAdapter.java b/wifi/java/android/net/wifi/WifiAdapter.java
index f6ee730..c0211f3 100644
--- a/wifi/java/android/net/wifi/WifiAdapter.java
+++ b/wifi/java/android/net/wifi/WifiAdapter.java
@@ -19,34 +19,57 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 
-/** @hide */
+/**
+ * Represents local wifi adapter. Different devices have different kinds of
+ * wifi adapters; each with different capabilities. Use this class to find out
+ * which capabilites are supported by the wifi adapter on the device.
+ */
 public class WifiAdapter implements Parcelable {
 
     /* Keep this list in sync with wifi_hal.h */
+    /** @hide */
     public static final int WIFI_FEATURE_INFRA            = 0x0001;  // Basic infrastructure mode
+    /** @hide */
     public static final int WIFI_FEATURE_INFRA_5G         = 0x0002;  // Support for 5 GHz Band
+    /** @hide */
     public static final int WIFI_FEATURE_PASSPOINT        = 0x0004;  // Support for GAS/ANQP
+    /** @hide */
     public static final int WIFI_FEATURE_P2P              = 0x0008;  // Wifi-Direct
+    /** @hide */
     public static final int WIFI_FEATURE_MOBILE_HOTSPOT   = 0x0010;  // Soft AP
+    /** @hide */
     public static final int WIFI_FEATURE_SCANNER          = 0x0020;  // WifiScanner APIs
+    /** @hide */
     public static final int WIFI_FEATURE_NAN              = 0x0040;  // Neighbor Awareness Networking
+    /** @hide */
     public static final int WIFI_FEATURE_D2D_RTT          = 0x0080;  // Device-to-device RTT
+    /** @hide */
     public static final int WIFI_FEATURE_D2AP_RTT         = 0x0100;  // Device-to-AP RTT
+    /** @hide */
     public static final int WIFI_FEATURE_BATCH_SCAN       = 0x0200;  // Batched Scan (deprecated)
+    /** @hide */
     public static final int WIFI_FEATURE_PNO              = 0x0400;  // Preferred network offload
+    /** @hide */
     public static final int WIFI_FEATURE_ADDITIONAL_STA   = 0x0800;  // Support for two STAs
+    /** @hide */
     public static final int WIFI_FEATURE_TDLS             = 0x1000;  // Tunnel directed link setup
+    /** @hide */
     public static final int WIFI_FEATURE_TDLS_OFFCHANNEL  = 0x2000;  // Support for TDLS off channel
+    /** @hide */
     public static final int WIFI_FEATURE_EPR              = 0x4000;  // Enhanced power reporting
 
     private String name;
     private int    supportedFeatures;
 
+    /** @hide */
     public WifiAdapter(String name, int supportedFeatures) {
         this.name = name;
         this.supportedFeatures = supportedFeatures;
     }
 
+    /**
+     * @return name of the adapter
+     */
     public String getName() {
         return name;
     }
@@ -59,68 +82,121 @@
         return (supportedFeatures & feature) == feature;
     }
 
+    /**
+     * @return true if this adapter supports 5 GHz band
+     */
+    public boolean is5GHzBandSupported() {
+        return isFeatureSupported(WIFI_FEATURE_INFRA_5G);
+    }
+
+    /**
+     * @return true if this adapter supports passpoint
+     */
     public boolean isPasspointSupported() {
         return isFeatureSupported(WIFI_FEATURE_PASSPOINT);
     }
 
-    public boolean isWifiDirectSupported() {
+    /**
+     * @return true if this adapter supports WifiP2pManager (Wi-Fi Direct)
+     */
+    public boolean isP2pSupported() {
         return isFeatureSupported(WIFI_FEATURE_P2P);
     }
 
-    public boolean isMobileHotstpoSupported() {
+    /**
+     * @return true if this adapter supports portable Wi-Fi hotspot
+     */
+    public boolean isPortableHotspotSupported() {
         return isFeatureSupported(WIFI_FEATURE_MOBILE_HOTSPOT);
     }
 
+    /**
+     * @return true if this adapter supports WifiScanner APIs
+     */
     public boolean isWifiScannerSupported() {
         return isFeatureSupported(WIFI_FEATURE_SCANNER);
     }
 
+    /**
+     * @return true if this adapter supports Neighbour Awareness Network APIs
+     * @hide
+     */
     public boolean isNanSupported() {
         return isFeatureSupported(WIFI_FEATURE_NAN);
     }
 
+    /**
+     * @return true if this adapter supports Device-to-device RTT
+     */
     public boolean isDeviceToDeviceRttSupported() {
         return isFeatureSupported(WIFI_FEATURE_D2D_RTT);
     }
 
+    /**
+     * @return true if this adapter supports Device-to-AP RTT
+     */
     public boolean isDeviceToApRttSupported() {
         return isFeatureSupported(WIFI_FEATURE_D2AP_RTT);
     }
 
+    /**
+     * @return true if this adapter supports offloaded connectivity scan
+     */
     public boolean isPreferredNetworkOffloadSupported() {
         return isFeatureSupported(WIFI_FEATURE_PNO);
     }
 
+    /**
+     * @return true if this adapter supports multiple simultaneous connections
+     * @hide
+     */
     public boolean isAdditionalStaSupported() {
         return isFeatureSupported(WIFI_FEATURE_ADDITIONAL_STA);
     }
 
+    /**
+     * @return true if this adapter supports Tunnel Directed Link Setup
+     */
     public boolean isTdlsSupported() {
         return isFeatureSupported(WIFI_FEATURE_TDLS);
     }
 
+    /**
+     * @return true if this adapter supports Off Channel Tunnel Directed Link Setup
+     */
     public boolean isOffChannelTdlsSupported() {
         return isFeatureSupported(WIFI_FEATURE_TDLS_OFFCHANNEL);
     }
 
+    /**
+     * @return true if this adapter supports advanced power/performance counters
+     */
     public boolean isEnhancedPowerReportingSupported() {
         return isFeatureSupported(WIFI_FEATURE_EPR);
     }
 
     /* Parcelable implementation */
-
-    /** Implement the Parcelable interface {@hide} */
+    /**
+     * Implement the Parcelable interface
+     * {@hide}
+     */
     public int describeContents() {
         return 0;
     }
 
-    /** Implement the Parcelable interface {@hide} */
+    /**
+     * Implement the Parcelable interface
+     * {@hide}
+     */
     public void writeToParcel(Parcel dest, int flags) {
         dest.writeString(name);
         dest.writeInt(supportedFeatures);
     }
 
-    /** Implement the Parcelable interface {@hide} */
+    /**
+     * Implement the Parcelable interface
+     * {@hide}
+     */
     public static final Creator<WifiAdapter> CREATOR =
             new Creator<WifiAdapter>() {
                 public WifiAdapter createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java
index f9a9e7d..cf4cb89 100644
--- a/wifi/java/android/net/wifi/WifiManager.java
+++ b/wifi/java/android/net/wifi/WifiManager.java
@@ -568,9 +568,10 @@
     }
 
     /**
-     * @hide
+     * Retrieve all wifi adapters available on this device
+     * @return list of adapters
      */
-    public List<WifiAdapter> getAdaptors() {
+    public List<WifiAdapter> getAdapters() {
         try {
             return mService.getAdaptors();
         } catch (RemoteException e) {