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

Commit f4fa4df7 authored by Nalla Kartheek's avatar Nalla Kartheek
Browse files

SOFTAP: implement SOFTAP new requirement in framework.

If framework recevied the STA (dis)connect message from netd,
it will try to read device info from dnsmasq and broadcast
an state change event via intent.
Meanwhile, framework will maintain the conneted Sta list which
can be access from upper layer

Change-Id: I8ceda470015c07436fdc77730a4811d901cb6825
CRs-Fixed: 1061535
parent 5be6682d
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.wifi.WifiDevice;
import android.os.Binder;
import android.os.Build.VERSION_CODES;
import android.os.Bundle;
@@ -59,6 +60,7 @@ import java.lang.annotation.RetentionPolicy;
import java.net.InetAddress;
import java.util.HashMap;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.List;

/**
 * Class that answers queries about the state of network connectivity. It also
@@ -296,6 +298,15 @@ public class ConnectivityManager {
    public static final String ACTION_TETHER_STATE_CHANGED =
            "android.net.conn.TETHER_STATE_CHANGED";

    /**
     * Broadcast intent action indicating that a Station is connected
     * or disconnected.
     *
     * @hide
     */
    public static final String TETHER_CONNECT_STATE_CHANGED =
        "codeaurora.net.conn.TETHER_CONNECT_STATE_CHANGED";

    /**
     * @hide
     * gives a String[] listing all the interfaces configured for
@@ -2142,6 +2153,20 @@ public class ConnectivityManager {
        }
    }

    /**
     * Get the list of Stations connected to Hotspot.
     *
     * @return a list of {@link WifiDevice} objects.
     * {@hide}
     */
    public List<WifiDevice> getTetherConnectedSta() {
        try {
            return mService.getTetherConnectedSta();
        } catch (RemoteException e) {
            return null;
        }
    }

    /** {@hide} */
    public static final int TETHER_ERROR_NO_ERROR           = 0;
    /** {@hide} */
+5 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.net.NetworkQuotaInfo;
import android.net.NetworkRequest;
import android.net.NetworkState;
import android.net.ProxyInfo;
import android.net.wifi.WifiDevice;
import android.os.IBinder;
import android.os.Messenger;
import android.os.ParcelFileDescriptor;
@@ -36,6 +37,8 @@ import com.android.internal.net.VpnConfig;
import com.android.internal.net.VpnInfo;
import com.android.internal.net.VpnProfile;

import java.util.List;

/**
 * Interface that answers queries about, and allows changing, the
 * state of network connectivity.
@@ -97,6 +100,8 @@ interface IConnectivityManager

    int setUsbTethering(boolean enable);

    List<WifiDevice> getTetherConnectedSta();

    void reportInetCondition(int networkType, int percentage);

    void reportNetworkConnectivity(in Network network, boolean hasConnectivity);
+7 −0
Original line number Diff line number Diff line
@@ -91,6 +91,13 @@ interface INetworkManagementEventObserver {
     */
    void interfaceClassDataActivityChanged(String label, boolean active, long tsNanos);

    /**
     * Message is received from network interface.
     *
     * @param message The message
     */
    void interfaceMessageRecevied(String message);

    /**
     * Information about available DNS servers has been received.
     *
+5 −0
Original line number Diff line number Diff line
@@ -62,6 +62,11 @@ public class BaseNetworkObserver extends INetworkManagementEventObserver.Stub {
        // default no-op
    }

    @Override
    public void interfaceMessageRecevied(String message) {
        // default no-op
    }

    @Override
    public void limitReached(String limitName, String iface) {
        // default no-op
+1 −0
Original line number Diff line number Diff line
@@ -311,6 +311,7 @@
    <protected-broadcast android:name="android.net.wifi.p2p.PEERS_CHANGED" />
    <protected-broadcast android:name="android.net.wifi.p2p.CONNECTION_STATE_CHANGE" />
    <protected-broadcast android:name="android.net.wifi.p2p.PERSISTENT_GROUPS_CHANGED" />
    <protected-broadcast android:name="codeaurora.net.conn.TETHER_CONNECT_STATE_CHANGED" />
    <protected-broadcast android:name="android.net.conn.TETHER_STATE_CHANGED" />
    <protected-broadcast android:name="android.net.conn.INET_CONDITION_ACTION" />
    <protected-broadcast android:name="android.net.conn.NETWORK_CONDITIONS_MEASURED" />
Loading