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

Commit a0c043c8 authored by Nalla Kartheek's avatar Nalla Kartheek 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

Conflicts:
	core/res/res/values/symbols.xml

Change-Id: I14972a7294e76ee97f9dce78a474b302227328f0
parent 38d591e6
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.NetworkUtils;
import android.net.wifi.WifiDevice;
import android.os.Binder;
import android.os.Build.VERSION_CODES;
import android.os.Handler;
@@ -49,6 +50,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;

@@ -272,6 +274,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
@@ -1658,6 +1669,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.
@@ -92,6 +95,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
+3 −0
Original line number Diff line number Diff line
@@ -1140,6 +1140,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