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

Commit 598a2d95 authored by Hu Wang's avatar Hu Wang Committed by Linux Build Service Account
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.

CRs-Fixed: 685913
Change-Id: I61bfb48a9ac51371995b1992b966be6e18633828
parent 99160c97
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.net.NetworkUtils;
import android.net.wifi.WifiDevice;
import android.os.Binder;
import android.os.Build.VERSION_CODES;
import android.os.Bundle;
@@ -48,6 +49,7 @@ import com.android.internal.util.Protocol;
import java.net.InetAddress;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.HashMap;
import java.util.List;

import libcore.net.event.NetworkEventDispatcher;

@@ -248,6 +250,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 =
        "android.net.conn.TETHER_CONNECT_STATE_CHANGED";

    /**
     * @hide
     * gives a String[] listing all the interfaces configured for
@@ -1723,6 +1734,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
@@ -27,6 +27,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.LegacyVpnInfo;
import com.android.internal.net.VpnConfig;
import com.android.internal.net.VpnProfile;

import java.util.List;

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

    int setUsbTethering(boolean enable);

    List<WifiDevice> getTetherConnectedSta();

    void reportInetCondition(int networkType, int percentage);

    void reportBadNetwork(in Network network);
+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
+3 −0
Original line number Diff line number Diff line
@@ -1455,6 +1455,9 @@
    <string name="car_mode_disable_notification_message" msgid="8035230537563503262">"触摸可退出车载模式。"</string>
    <string name="tethered_notification_title" msgid="3146694234398202601">"网络共享或热点已启用"</string>
    <string name="tethered_notification_message" msgid="6857031760103062982">"触摸可进行设置。"</string>
    <string name="tethered_notification_no_device_message">"没有设备已连接。"</string>
    <string name="tethered_notification_one_device_message">""<xliff:g id="count">%1$s</xliff:g>"个设备已连接。"</string>
    <string name="tethered_notification_multi_device_message">""<xliff:g id="count">%1$s</xliff:g>"个设备已连接。"</string>
    <string name="back_button_label" msgid="2300470004503343439">"上一步"</string>
    <string name="next_button_label" msgid="1080555104677992408">"下一步"</string>
    <string name="skip_button_label" msgid="1275362299471631819">"跳过"</string>
Loading