OSDN Git Service

Settings: Add Superuser entry
[android-x86/packages-apps-Settings.git] / src / com / android / settings / HotspotOffReceiver.java
1
2 package com.android.settings;
3
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;
11
12 /**
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.
15  */
16 public class HotspotOffReceiver extends BroadcastReceiver {
17
18     private static final String TAG = "HotspotOffReceiver";
19     private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
20
21     private Context mContext;
22     private boolean mRegistered;
23
24     public HotspotOffReceiver(Context context) {
25         mContext = context;
26     }
27
28     @Override
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);
37             }
38         }
39     }
40
41     public void register() {
42         if (!mRegistered) {
43             mContext.registerReceiver(this,
44                 new IntentFilter(WifiManager.WIFI_AP_STATE_CHANGED_ACTION));
45             mRegistered = true;
46         }
47     }
48
49     public void unregister() {
50         if (mRegistered) {
51             mContext.unregisterReceiver(this);
52             mRegistered = false;
53         }
54     }
55 }