2 package com.android.settings;
4 import android.content.BroadcastReceiver;
5 import android.content.Context;
6 import android.content.Intent;
7 import android.content.IntentFilter;
8 import android.net.ConnectivityManager;
9 import android.net.wifi.WifiManager;
10 import android.util.Log;
13 * This receiver catches when quick settings turns off the hotspot, so we can
14 * cancel the alarm in that case. All other cancels are handled in tethersettings.
16 public class HotspotOffReceiver extends BroadcastReceiver {
18 private static final String TAG = "HotspotOffReceiver";
19 private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
21 private Context mContext;
22 private boolean mRegistered;
24 public HotspotOffReceiver(Context context) {
29 public void onReceive(Context context, Intent intent) {
30 if (WifiManager.WIFI_AP_STATE_CHANGED_ACTION.equals(intent.getAction())) {
31 WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
32 if (wifiManager.getWifiApState() == WifiManager.WIFI_AP_STATE_DISABLED) {
33 if (DEBUG) Log.d(TAG, "TetherService.cancelRecheckAlarmIfNecessary called");
34 // The hotspot has been turned off, we don't need to recheck tethering.
35 TetherService.cancelRecheckAlarmIfNecessary(
36 context, ConnectivityManager.TETHERING_WIFI);
41 public void register() {
43 mContext.registerReceiver(this,
44 new IntentFilter(WifiManager.WIFI_AP_STATE_CHANGED_ACTION));
49 public void unregister() {
51 mContext.unregisterReceiver(this);