Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a4864472 authored by Yuhao Zheng's avatar Yuhao Zheng Committed by Vinit Deshpande
Browse files

Hotspot 2.0 framework APIs -- initial implementation

Cherry-picked from klp-wireless-dev-mirror
SHA1: e73969fac45aaca72528226dc8c0c5e54fb2cdd4

Bug: 5485670
Change-Id: If3250a2fae181a3774d3158e341220006ad6ebe5
parent 1ab9cc80
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -333,7 +333,7 @@ LOCAL_SRC_FILES += \
	telephony/java/com/android/internal/telephony/ISms.aidl \
	telephony/java/com/android/internal/telephony/IWapPushManager.aidl \
	wifi/java/android/net/wifi/IWifiManager.aidl \
	wifi/java/android/net/wifi/hotspot/IWifiHotspotManager.aidl \
	wifi/java/android/net/wifi/passpoint/IPasspointManager.aidl \
	wifi/java/android/net/wifi/p2p/IWifiP2pManager.aidl \
	wifi/java/android/net/wifi/IWifiScanner.aidl \
	packages/services/PacProcessor/com/android/net/IProxyService.aidl \
+105 −14
Original line number Diff line number Diff line
@@ -6660,8 +6660,8 @@ package android.content {
    field public static final java.lang.String USER_SERVICE = "user";
    field public static final java.lang.String VIBRATOR_SERVICE = "vibrator";
    field public static final java.lang.String WALLPAPER_SERVICE = "wallpaper";
    field public static final java.lang.String WIFI_HOTSPOT_SERVICE = "wifihotspot";
    field public static final java.lang.String WIFI_P2P_SERVICE = "wifip2p";
    field public static final java.lang.String WIFI_PASSPOINT_SERVICE = "wifipasspoint";
    field public static final java.lang.String WIFI_SERVICE = "wifi";
    field public static final java.lang.String WINDOW_SERVICE = "window";
  }
@@ -16602,6 +16602,7 @@ package android.net.wifi {
    field public java.lang.String capabilities;
    field public int frequency;
    field public int level;
    field public android.net.wifi.passpoint.PasspointInfo passpoint;
    field public long timestamp;
  }
@@ -16918,19 +16919,6 @@ package android.net.wifi {
}
package android.net.wifi.hotspot {
  public abstract interface IWifiHotspotManager implements android.os.IInterface {
    method public abstract void test() throws android.os.RemoteException;
  }
  public class WifiHotspotManager {
    ctor public WifiHotspotManager(android.content.Context, android.net.wifi.hotspot.IWifiHotspotManager);
    method public void test();
  }
}
package android.net.wifi.p2p {
  public class WifiP2pConfig implements android.os.Parcelable {
@@ -17126,6 +17114,109 @@ package android.net.wifi.p2p.nsd {
}
package android.net.wifi.passpoint {
  public abstract interface IPasspointManager implements android.os.IInterface {
    method public abstract android.os.Messenger getMessenger() throws android.os.RemoteException;
    method public abstract int getPasspointState() throws android.os.RemoteException;
  }
  public class PasspointCredential implements android.os.Parcelable {
    ctor public PasspointCredential();
    method public int describeContents();
    method public void writeToParcel(android.os.Parcel, int);
  }
  public class PasspointInfo implements android.os.Parcelable {
    method public int describeContents();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final int ANQP_CAPABILITY = 1; // 0x1
    field public static final int CELLULAR_NETWORK = 64; // 0x40
    field public static final int CONNECTION_CAPABILITY = 2048; // 0x800
    field public static final int DOMAIN_NAME = 128; // 0x80
    field public static final int HOTSPOT_CAPABILITY = 256; // 0x100
    field public static final int IP_ADDR_TYPE_AVAILABILITY = 16; // 0x10
    field public static final int NAI_REALM = 32; // 0x20
    field public static final int NETWORK_AUTH_TYPE = 4; // 0x4
    field public static final int OPERATOR_FRIENDLY_NAME = 512; // 0x200
    field public static final int OSU_PROVIDER = 4096; // 0x1000
    field public static final int PRESET_ALL = 8191; // 0x1fff
    field public static final int PRESET_CRED_MATCH = 481; // 0x1e1
    field public static final int ROAMING_CONSORTIUM = 8; // 0x8
    field public static final int VENUE_NAME = 2; // 0x2
    field public static final int WAN_METRICS = 1024; // 0x400
    field public java.lang.String bssid;
    field public java.lang.String cellularNetwork;
    field public java.lang.String connectionCapability;
    field public java.lang.String domainName;
    field public java.lang.String ipAddrTypeAvaibility;
    field public java.lang.String naiRealm;
    field public java.lang.String networkAuthType;
    field public java.lang.String operatorFriendlyName;
    field public java.util.List osuProviderList;
    field public java.lang.String roamingConsortium;
    field public java.lang.String venueName;
    field public java.lang.String wanMetrics;
  }
  public class PasspointManager {
    ctor public PasspointManager(android.content.Context, android.net.wifi.passpoint.IPasspointManager);
    method public boolean addCredential(android.net.wifi.passpoint.PasspointCredential);
    method public boolean connect(android.net.wifi.passpoint.PasspointPolicy);
    method public int getPasspointState();
    method public java.util.List<android.net.wifi.passpoint.PasspointCredential> getSavedCredentials();
    method public android.net.wifi.passpoint.PasspointManager.Channel initialize(android.content.Context, android.os.Looper, android.net.wifi.passpoint.PasspointManager.ChannelListener);
    method public boolean removeCredential(android.net.wifi.passpoint.PasspointCredential);
    method public void requestOsuIcons(android.net.wifi.passpoint.PasspointManager.Channel, java.util.List<android.net.wifi.passpoint.PasspointOsuProvider>, android.net.wifi.passpoint.PasspointManager.ActionListener);
    method public boolean updateCredential(android.net.wifi.passpoint.PasspointCredential);
    field public static final int BUSY = 2; // 0x2
    field public static final int ERROR = 0; // 0x0
    field public static final java.lang.String PASSPOINT_CRED_CHANGED_ACTION = "android.net.wifi.passpoint.CRED_CHANGE";
    field public static final int PASSPOINT_STATE_ACCESS = 3; // 0x3
    field public static final java.lang.String PASSPOINT_STATE_CHANGED_ACTION = "android.net.wifi.passpoint.STATE_CHANGE";
    field public static final int PASSPOINT_STATE_DISABLED = 1; // 0x1
    field public static final int PASSPOINT_STATE_DISCOVERY = 2; // 0x2
    field public static final int PASSPOINT_STATE_PROVISION = 4; // 0x4
    field public static final int PASSPOINT_STATE_UNKNOWN = 0; // 0x0
    field public static final int WIFI_DISABLED = 1; // 0x1
  }
  public static abstract interface PasspointManager.ActionListener {
    method public abstract void onFailure(int);
    method public abstract void onSuccess();
  }
  public static class PasspointManager.Channel {
  }
  public static abstract interface PasspointManager.ChannelListener {
    method public abstract void onChannelDisconnected();
  }
  public class PasspointOsuProvider implements android.os.Parcelable {
    method public int describeContents();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator CREATOR;
    field public static final int OSU_METHOD_OMADM = 0; // 0x0
    field public static final int OSU_METHOD_SOAP = 1; // 0x1
    field public java.lang.String SSID;
    field public java.lang.String friendlyName;
    field public java.lang.Object icon;
    field public java.lang.String iconFileName;
    field public int osuMethod;
    field public java.lang.String osuNai;
    field public java.lang.String osuService;
    field public java.lang.String serverUri;
  }
  public class PasspointPolicy implements android.os.Parcelable {
    ctor public PasspointPolicy();
    method public int describeContents();
    method public void writeToParcel(android.os.Parcel, int);
  }
}
package android.nfc {
  public class FormatException extends java.lang.Exception {
+6 −6
Original line number Diff line number Diff line
@@ -81,8 +81,8 @@ import android.net.nsd.INsdManager;
import android.net.nsd.NsdManager;
import android.net.wifi.IWifiManager;
import android.net.wifi.WifiManager;
import android.net.wifi.hotspot.IWifiHotspotManager;
import android.net.wifi.hotspot.WifiHotspotManager;
import android.net.wifi.passpoint.IPasspointManager;
import android.net.wifi.passpoint.PasspointManager;
import android.net.wifi.p2p.IWifiP2pManager;
import android.net.wifi.p2p.WifiP2pManager;
import android.nfc.NfcManager;
@@ -578,11 +578,11 @@ class ContextImpl extends Context {
                    return new WifiManager(ctx.getOuterContext(), service);
                }});

        registerService(WIFI_HOTSPOT_SERVICE, new ServiceFetcher() {
        registerService(WIFI_PASSPOINT_SERVICE, new ServiceFetcher() {
                public Object createService(ContextImpl ctx) {
                    IBinder b = ServiceManager.getService(WIFI_HOTSPOT_SERVICE);
                    IWifiHotspotManager service = IWifiHotspotManager.Stub.asInterface(b);
                    return new WifiHotspotManager(ctx.getOuterContext(), service);
                    IBinder b = ServiceManager.getService(WIFI_PASSPOINT_SERVICE);
                    IPasspointManager service = IPasspointManager.Stub.asInterface(b);
                    return new PasspointManager(ctx.getOuterContext(), service);
                }});

        registerService(WIFI_P2P_SERVICE, new ServiceFetcher() {
+5 −5
Original line number Diff line number Diff line
@@ -1991,7 +1991,7 @@ public abstract class Context {
            //@hide: NETWORK_STATS_SERVICE,
            //@hide: NETWORK_POLICY_SERVICE,
            WIFI_SERVICE,
            WIFI_HOTSPOT_SERVICE,
            WIFI_PASSPOINT_SERVICE,
            WIFI_P2P_SERVICE,
            WIFI_SCANNING_SERVICE,
            NSD_SERVICE,
@@ -2352,13 +2352,13 @@ public abstract class Context {

    /**
     * Use with {@link #getSystemService} to retrieve a {@link
     * android.net.wifi.hotspot.WifiHotspotManager} for handling management of
     * Wi-Fi hotspot access.
     * android.net.wifi.passpoint.PasspointManager} for handling management of
     * Wi-Fi passpoint access.
     *
     * @see #getSystemService
     * @see android.net.wifi.hotspot.WifiHotspotManager
     * @see android.net.wifi.passpoint.PasspointManager
     */
    public static final String WIFI_HOTSPOT_SERVICE = "wifihotspot";
    public static final String WIFI_PASSPOINT_SERVICE = "wifipasspoint";

    /**
     * Use with {@link #getSystemService} to retrieve a {@link
+2 −0
Original line number Diff line number Diff line
@@ -48,6 +48,8 @@ public class Protocol {
    public static final int BASE_WIFI_CONTROLLER                                    = 0x00026000;
    public static final int BASE_WIFI_SCANNER                                       = 0x00027000;
    public static final int BASE_WIFI_SCANNER_SERVICE                               = 0x00027100;
    public static final int BASE_WIFI_PASSPOINT_MANAGER                             = 0x00028000;
    public static final int BASE_WIFI_PASSPOINT_SERVICE                             = 0x00028100;
    public static final int BASE_DHCP                                               = 0x00030000;
    public static final int BASE_DATA_CONNECTION                                    = 0x00040000;
    public static final int BASE_DATA_CONNECTION_AC                                 = 0x00041000;
Loading