| package com.android.settings; | |
| import android.content.BroadcastReceiver; | |
| import android.content.Context; | |
| import android.content.Intent; | |
| import android.net.ConnectivityManager; | |
| import android.net.wifi.WifiManager; | |
| import android.util.Log; | |
| import com.android.settingslib.TetherUtil; | |
| /** | |
| * This receiver catches when quick settings turns off the hotspot, so we can | |
| * cancel the alarm in that case. All other cancels are handled in tethersettings. | |
| */ | |
| public class HotspotOffReceiver extends BroadcastReceiver { | |
| private static final String TAG = "HotspotOffReceiver"; | |
| private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); | |
| @Override | |
| public void onReceive(Context context, Intent intent) { | |
| if (WifiManager.WIFI_AP_STATE_CHANGED_ACTION.equals(intent.getAction())) { | |
| WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); | |
| if (wifiManager.getWifiApState() == WifiManager.WIFI_AP_STATE_DISABLED) { | |
| if (DEBUG) Log.d(TAG, "TetherService.cancelRecheckAlarmIfNecessary called"); | |
| // The hotspot has been turned off, we don't need to recheck tethering. | |
| TetherService.cancelRecheckAlarmIfNecessary( | |
| context, ConnectivityManager.TETHERING_WIFI); | |
| } | |
| } | |
| } | |
| } |