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

Commit e540b64a authored by Etan Cohen's avatar Etan Cohen Committed by Android Partner Code Review
Browse files

Merge "NAN: baseline NAN manager for discovery." into mm-wireless-dev

parents 49442a1d 20d329b0
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -410,6 +410,9 @@ LOCAL_SRC_FILES += \
	telephony/java/com/android/internal/telephony/IWapPushManager.aidl \
	wifi/java/android/net/wifi/IWifiManager.aidl \
	wifi/java/android/net/wifi/passpoint/IWifiPasspointManager.aidl \
	wifi/java/android/net/wifi/nan/IWifiNanEventListener.aidl \
	wifi/java/android/net/wifi/nan/IWifiNanManager.aidl \
	wifi/java/android/net/wifi/nan/IWifiNanSessionListener.aidl \
	wifi/java/android/net/wifi/p2p/IWifiP2pManager.aidl \
	wifi/java/android/net/wifi/IWifiScanner.aidl \
	wifi/java/android/net/wifi/IRttManager.aidl \
@@ -476,6 +479,11 @@ aidl_files := \
	frameworks/base/media/java/android/media/tv/TvTrackInfo.aidl \
	frameworks/base/media/java/android/media/browse/MediaBrowser.aidl \
	frameworks/base/wifi/java/android/net/wifi/ScanSettings.aidl \
	frameworks/base/wifi/java/android/net/wifi/nan/ConfigRequest.aidl \
	frameworks/base/wifi/java/android/net/wifi/nan/PublishData.aidl \
	frameworks/base/wifi/java/android/net/wifi/nan/SubscribeData.aidl \
	frameworks/base/wifi/java/android/net/wifi/nan/PublishSettings.aidl \
	frameworks/base/wifi/java/android/net/wifi/nan/SubscribeSettings.aidl \
	frameworks/base/wifi/java/android/net/wifi/p2p/WifiP2pInfo.aidl \
	frameworks/base/wifi/java/android/net/wifi/p2p/WifiP2pDeviceList.aidl \
	frameworks/base/wifi/java/android/net/wifi/p2p/WifiP2pConfig.aidl \
+14 −0
Original line number Diff line number Diff line
@@ -78,6 +78,8 @@ import android.net.wifi.IWifiScanner;
import android.net.wifi.RttManager;
import android.net.wifi.WifiManager;
import android.net.wifi.WifiScanner;
import android.net.wifi.nan.IWifiNanManager;
import android.net.wifi.nan.WifiNanManager;
import android.net.wifi.p2p.IWifiP2pManager;
import android.net.wifi.p2p.WifiP2pManager;
import android.net.wifi.passpoint.IWifiPasspointManager;
@@ -499,6 +501,18 @@ final class SystemServiceRegistry {
                return new WifiP2pManager(service);
            }});

        registerService(Context.WIFI_NAN_SERVICE, WifiNanManager.class,
                new StaticServiceFetcher<WifiNanManager>() {
            @Override
            public WifiNanManager createService() {
                IBinder b = ServiceManager.getService(Context.WIFI_NAN_SERVICE);
                IWifiNanManager service = IWifiNanManager.Stub.asInterface(b);
                if (service == null) {
                    return null;
                }
                return new WifiNanManager(service);
            }});

        registerService(Context.WIFI_SCANNING_SERVICE, WifiScanner.class,
                new CachedServiceFetcher<WifiScanner>() {
            @Override
+12 −0
Original line number Diff line number Diff line
@@ -2460,6 +2460,7 @@ public abstract class Context {
            NETWORK_STATS_SERVICE,
            //@hide: NETWORK_POLICY_SERVICE,
            WIFI_SERVICE,
            WIFI_NAN_SERVICE,
            WIFI_PASSPOINT_SERVICE,
            WIFI_P2P_SERVICE,
            WIFI_SCANNING_SERVICE,
@@ -2921,6 +2922,17 @@ public abstract class Context {
     */
    public static final String WIFI_P2P_SERVICE = "wifip2p";

    /**
     * Use with {@link #getSystemService} to retrieve a
     * {@link android.net.wifi.nan.WifiNanManager} for handling management of
     * Wi-Fi NAN discovery and connections.
     *
     * @see #getSystemService
     * @see android.net.wifi.nan.WifiNanManager
     * @hide PROPOSED_NAN_API
     */
    public static final String WIFI_NAN_SERVICE = "wifinan";

    /**
     * Use with {@link #getSystemService} to retrieve a {@link
     * android.net.wifi.WifiScanner} for scanning the wifi universe
+10 −0
Original line number Diff line number Diff line
@@ -1641,6 +1641,16 @@ public abstract class PackageManager {
    @SdkConstant(SdkConstantType.FEATURE)
    public static final String FEATURE_WIFI_DIRECT = "android.hardware.wifi.direct";

    /**
     * Feature for {@link #getSystemAvailableFeatures} and
     * {@link #hasSystemFeature}: The device supports Wi-Fi Aware (NAN)
     * networking.
     *
     * @hide PROPOSED_NAN_API
     */
    @SdkConstant(SdkConstantType.FEATURE)
    public static final String FEATURE_WIFI_NAN = "android.hardware.wifi.nan";

    /**
     * Feature for {@link #getSystemAvailableFeatures} and
     * {@link #hasSystemFeature}: This is a device dedicated to showing UI
+7 −0
Original line number Diff line number Diff line
@@ -130,6 +130,8 @@ public final class SystemServer {
            "com.android.server.midi.MidiService$Lifecycle";
    private static final String WIFI_SERVICE_CLASS =
            "com.android.server.wifi.WifiService";
    private static final String WIFI_NAN_SERVICE_CLASS =
            "com.android.server.wifi.nan.WifiNanService";
    private static final String WIFI_P2P_SERVICE_CLASS =
            "com.android.server.wifi.p2p.WifiP2pService";
    private static final String ETHERNET_SERVICE_CLASS =
@@ -727,6 +729,11 @@ public final class SystemServer {
                }
                Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER);

                if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WIFI_NAN)) {
                    mSystemServiceManager.startService(WIFI_NAN_SERVICE_CLASS);
                } else {
                    Slog.i(TAG, "No Wi-Fi NAN Service (NAN support Not Present)");
                }
                mSystemServiceManager.startService(WIFI_P2P_SERVICE_CLASS);
                mSystemServiceManager.startService(WIFI_SERVICE_CLASS);
                mSystemServiceManager.startService(
Loading