Adding support for visibility into clients that connect to an active hotspot. Bug: 137309578 Test: Tested manually on a Pixel 3. Change-Id: Ife4bb5ca7bbcf075683cb0a233f2b5716ccd51d9 Merged-In: Ife4bb5ca7bbcf075683cb0a233f2b5716ccd51d9
56 lines
1.7 KiB
Java
56 lines
1.7 KiB
Java
package com.android.settings.wifi.tether;
|
|
|
|
import android.net.wifi.WifiClient;
|
|
import android.net.wifi.WifiManager;
|
|
import android.os.Handler;
|
|
|
|
import java.util.List;
|
|
|
|
/**
|
|
* Wrapper for {@link android.net.wifi.WifiManager.SoftApCallback} to pass the robo test
|
|
*/
|
|
public class WifiTetherSoftApManager {
|
|
|
|
private WifiManager mWifiManager;
|
|
private WifiTetherSoftApCallback mWifiTetherSoftApCallback;
|
|
|
|
private WifiManager.SoftApCallback mSoftApCallback = new WifiManager.SoftApCallback() {
|
|
@Override
|
|
public void onStateChanged(int state, int failureReason) {
|
|
mWifiTetherSoftApCallback.onStateChanged(state, failureReason);
|
|
}
|
|
|
|
@Override
|
|
public void onConnectedClientsChanged(List<WifiClient> clients) {
|
|
mWifiTetherSoftApCallback.onConnectedClientsChanged(clients);
|
|
}
|
|
};
|
|
private Handler mHandler;
|
|
|
|
WifiTetherSoftApManager(WifiManager wifiManager,
|
|
WifiTetherSoftApCallback wifiTetherSoftApCallback) {
|
|
mWifiManager = wifiManager;
|
|
mWifiTetherSoftApCallback = wifiTetherSoftApCallback;
|
|
mHandler = new Handler();
|
|
}
|
|
|
|
public void registerSoftApCallback() {
|
|
mWifiManager.registerSoftApCallback(mSoftApCallback, mHandler);
|
|
}
|
|
|
|
public void unRegisterSoftApCallback() {
|
|
mWifiManager.unregisterSoftApCallback(mSoftApCallback);
|
|
}
|
|
|
|
public interface WifiTetherSoftApCallback {
|
|
void onStateChanged(int state, int failureReason);
|
|
|
|
/**
|
|
* Called when the connected clients to soft AP changes.
|
|
*
|
|
* @param clients the currently connected clients
|
|
*/
|
|
void onConnectedClientsChanged(List<WifiClient> clients);
|
|
}
|
|
}
|