| package com.android.settings.wifi.tether; |
| |
| import android.net.wifi.WifiClient; |
| import android.net.wifi.WifiManager; |
| import android.os.Handler; |
| import android.os.HandlerExecutor; |
| |
| 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(new HandlerExecutor(mHandler), mSoftApCallback); |
| } |
| |
| 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); |
| } |
| } |