diff options
author | tao.pei <tao.pei@ck-telecom.com> | 2016-03-23 10:06:21 +0800 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2016-04-14 09:39:59 -0700 |
commit | ef3407cce005b646f3edd22e6e8cf97ec7204cff (patch) | |
tree | 1814cccec63d305c65397ff8652fd42c5554c677 /src/com | |
parent | 5eff3e8d8ff1f8a23b40717872d5f055b45ebf2e (diff) | |
download | packages_apps_Settings-ef3407cce005b646f3edd22e6e8cf97ec7204cff.zip packages_apps_Settings-ef3407cce005b646f3edd22e6e8cf97ec7204cff.tar.gz packages_apps_Settings-ef3407cce005b646f3edd22e6e8cf97ec7204cff.tar.bz2 |
Setting: Disable WPS Push Button/Pin Entry when WiFi is disabled
Change-Id: Ia03c81dd3a6abf01680e2e2e2ba87f15c2f33b97
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/settings/wifi/AdvancedWifiSettings.java | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/com/android/settings/wifi/AdvancedWifiSettings.java b/src/com/android/settings/wifi/AdvancedWifiSettings.java index f764dd4..7aaaa90 100644 --- a/src/com/android/settings/wifi/AdvancedWifiSettings.java +++ b/src/com/android/settings/wifi/AdvancedWifiSettings.java @@ -71,6 +71,9 @@ public class AdvancedWifiSettings extends SettingsPreferenceFragment private NetworkScoreManager mNetworkScoreManager; private AppListSwitchPreference mWifiAssistantPreference; + private Preference mWpsPushPref; + private Preference mWpsPinPref; + private IntentFilter mFilter; private final BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override @@ -79,6 +82,11 @@ public class AdvancedWifiSettings extends SettingsPreferenceFragment if (action.equals(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION) || action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) { refreshWifiInfo(); + } else if (action.equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) { + int state = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, + WifiManager.WIFI_STATE_UNKNOWN); + mWpsPushPref.setEnabled(WifiManager.WIFI_STATE_ENABLED == state); + mWpsPinPref.setEnabled(WifiManager.WIFI_STATE_ENABLED == state); } } }; @@ -101,6 +109,7 @@ public class AdvancedWifiSettings extends SettingsPreferenceFragment mFilter = new IntentFilter(); mFilter.addAction(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION); mFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); + mFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); mNetworkScoreManager = (NetworkScoreManager) getSystemService(Context.NETWORK_SCORE_SERVICE); } @@ -162,25 +171,28 @@ public class AdvancedWifiSettings extends SettingsPreferenceFragment Preference wifiDirectPref = findPreference(KEY_WIFI_DIRECT); wifiDirectPref.setIntent(wifiDirectIntent); + final int wifiState = mWifiManager.getWifiState(); // WpsDialog: Create the dialog like WifiSettings does. - Preference wpsPushPref = findPreference(KEY_WPS_PUSH); - wpsPushPref.setOnPreferenceClickListener(new OnPreferenceClickListener() { + mWpsPushPref = findPreference(KEY_WPS_PUSH); + mWpsPushPref.setOnPreferenceClickListener(new OnPreferenceClickListener() { public boolean onPreferenceClick(Preference arg0) { WpsFragment wpsFragment = new WpsFragment(WpsInfo.PBC); wpsFragment.show(getFragmentManager(), KEY_WPS_PUSH); return true; } }); + mWpsPushPref.setEnabled(WifiManager.WIFI_STATE_ENABLED == wifiState); // WpsDialog: Create the dialog like WifiSettings does. - Preference wpsPinPref = findPreference(KEY_WPS_PIN); - wpsPinPref.setOnPreferenceClickListener(new OnPreferenceClickListener(){ + mWpsPinPref = findPreference(KEY_WPS_PIN); + mWpsPinPref.setOnPreferenceClickListener(new OnPreferenceClickListener(){ public boolean onPreferenceClick(Preference arg0) { WpsFragment wpsFragment = new WpsFragment(WpsInfo.DISPLAY); wpsFragment.show(getFragmentManager(), KEY_WPS_PIN); return true; } }); + mWpsPinPref.setEnabled(WifiManager.WIFI_STATE_ENABLED == wifiState); ListPreference frequencyPref = (ListPreference) findPreference(KEY_FREQUENCY_BAND); |