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

Commit 011e1b35 authored by Vinit Deshapnde's avatar Vinit Deshapnde
Browse files

Initial implementation of WifiScanner

This change implements basic functionality of WifiScanner. Following
functionality is enabled

1. Scanning - specify a list of channels to scan
2. Significant change detection
3. AP hotlist

Change-Id: Ieef75b96bdbbd3c7d9b9e698bd16e64d3b465254
parent c4bfcc12
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -320,6 +320,7 @@ LOCAL_SRC_FILES += \
	wifi/java/android/net/wifi/IWifiManager.aidl \
	wifi/java/android/net/wifi/hotspot/IWifiHotspotManager.aidl \
	wifi/java/android/net/wifi/p2p/IWifiP2pManager.aidl \
	wifi/java/android/net/wifi/IWifiScanner.aidl \
	packages/services/PacProcessor/com/android/net/IProxyService.aidl \
	packages/services/Proxy/com/android/net/IProxyCallback.aidl \
	packages/services/Proxy/com/android/net/IProxyPortListener.aidl \
+9 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package android.app;

import android.net.wifi.IWifiScanner;
import android.net.wifi.WifiScanner;
import android.os.Build;

import com.android.internal.policy.PolicyManager;
@@ -589,6 +591,13 @@ class ContextImpl extends Context {
                    return new WifiP2pManager(service);
                }});

        registerService(WIFI_SCANNING_SERVICE, new ServiceFetcher() {
            public Object createService(ContextImpl ctx) {
                IBinder b = ServiceManager.getService(WIFI_SCANNING_SERVICE);
                IWifiScanner service = IWifiScanner.Stub.asInterface(b);
                return new WifiScanner(ctx.getOuterContext(), service);
            }});

        registerService(WINDOW_SERVICE, new ServiceFetcher() {
                Display mDefaultDisplay;
                public Object getService(ContextImpl ctx) {
+17 −0
Original line number Diff line number Diff line
@@ -1982,6 +1982,7 @@ public abstract class Context {
            WIFI_SERVICE,
            WIFI_HOTSPOT_SERVICE,
            WIFI_P2P_SERVICE,
            WIFI_SCANNING_SERVICE,
            NSD_SERVICE,
            AUDIO_SERVICE,
            MEDIA_ROUTER_SERVICE,
@@ -2054,6 +2055,12 @@ public abstract class Context {
     *  <dt> {@link #WIFI_SERVICE} ("wifi")
     *  <dd> A {@link android.net.wifi.WifiManager WifiManager} for management of
     * Wi-Fi connectivity.
     *  <dt> {@link #WIFI_P2P_SERVICE} ("wifip2p")
     *  <dd> A {@link android.net.wifi.p2p.WifiP2pManager WifiP2pManager} for management of
     * Wi-Fi Direct connectivity.
     *  <dt> {@link #WIFI_SCANNING_SERVICE} ("wifiscanner")
     *  <dd> A {@link android.net.wifi.WifiScanner WifiScanner} for scanning surrounding
     * Wi-Fi environment.
     * <dt> {@link #INPUT_METHOD_SERVICE} ("input_method")
     * <dd> An {@link android.view.inputmethod.InputMethodManager InputMethodManager}
     * for management of input methods.
@@ -2355,6 +2362,16 @@ public abstract class Context {
     */
    public static final String WIFI_P2P_SERVICE = "wifip2p";

    /**
     * Use with {@link #getSystemService} to retrieve a {@link
     * android.net.wifi.WifiScanner} for scanning the wifi universe
     *
     * @see #getSystemService
     * @see android.net.wifi.WifiScanner
     * @hide
     */
    public static final String WIFI_SCANNING_SERVICE = "wifiscanner";

    /**
     * Use with {@link #getSystemService} to retrieve a {@link
     * android.net.nsd.NsdManager} for handling management of network service
+2 −0
Original line number Diff line number Diff line
@@ -46,6 +46,8 @@ public class Protocol {
    public static final int BASE_WIFI_MONITOR                                       = 0x00024000;
    public static final int BASE_WIFI_MANAGER                                       = 0x00025000;
    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_DHCP                                               = 0x00030000;
    public static final int BASE_DATA_CONNECTION                                    = 0x00040000;
    public static final int BASE_DATA_CONNECTION_AC                                 = 0x00041000;
+9 −0
Original line number Diff line number Diff line
@@ -649,6 +649,15 @@ public final class SystemServer {
                    reportWtf("starting Wi-Fi Service", e);
                }

                try {
                    Slog.i(TAG, "Wi-Fi Scanning Service");
                    mSystemServiceManager.startService(
                            "com.android.server.wifi.WifiScanningService");

                } catch (Throwable e) {
                    reportWtf("starting Wi-Fi Scanning Service", e);
                }

                try {
                    Slog.i(TAG, "Connectivity Service");
                    connectivity = new ConnectivityService(
Loading