Home | History | Annotate | Download | only in tether
      1 package com.android.settings.wifi.tether;
      2 
      3 import android.net.wifi.WifiManager;
      4 import android.os.Handler;
      5 
      6 /**
      7  * Wrapper for {@link android.net.wifi.WifiManager.SoftApCallback} to pass the robo test
      8  */
      9 public class WifiTetherSoftApManager {
     10 
     11     private WifiManager mWifiManager;
     12     private WifiTetherSoftApCallback mWifiTetherSoftApCallback;
     13 
     14     private WifiManager.SoftApCallback mSoftApCallback = new WifiManager.SoftApCallback() {
     15         @Override
     16         public void onStateChanged(int state, int failureReason) {
     17             mWifiTetherSoftApCallback.onStateChanged(state, failureReason);
     18         }
     19 
     20         @Override
     21         public void onNumClientsChanged(int numClients) {
     22             mWifiTetherSoftApCallback.onNumClientsChanged(numClients);
     23         }
     24     };
     25     private Handler mHandler;
     26 
     27     WifiTetherSoftApManager(WifiManager wifiManager,
     28             WifiTetherSoftApCallback wifiTetherSoftApCallback) {
     29         mWifiManager = wifiManager;
     30         mWifiTetherSoftApCallback = wifiTetherSoftApCallback;
     31         mHandler = new Handler();
     32     }
     33 
     34     public void registerSoftApCallback() {
     35         mWifiManager.registerSoftApCallback(mSoftApCallback, mHandler);
     36     }
     37 
     38     public void unRegisterSoftApCallback() {
     39         mWifiManager.unregisterSoftApCallback(mSoftApCallback);
     40     }
     41 
     42     public interface WifiTetherSoftApCallback {
     43         void onStateChanged(int state, int failureReason);
     44 
     45         void onNumClientsChanged(int numClients);
     46     }
     47 }
     48