summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortao.pei <tao.pei@ck-telecom.com>2016-03-23 10:06:21 +0800
committerGerrit Code Review <gerrit@cyanogenmod.org>2016-04-14 09:39:59 -0700
commitef3407cce005b646f3edd22e6e8cf97ec7204cff (patch)
tree1814cccec63d305c65397ff8652fd42c5554c677
parent5eff3e8d8ff1f8a23b40717872d5f055b45ebf2e (diff)
downloadpackages_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
-rw-r--r--src/com/android/settings/wifi/AdvancedWifiSettings.java20
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);